-
Notifications
You must be signed in to change notification settings - Fork 219
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: Display function name and body when inlining recursion limit hit #6291
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great! I left a comment about a test, but once that's moved to somewhere else we can merge this.
I'm thinking, that, if possible, it would be nice to show part of the stack trace that led to this infinite recursion. For example if you have a mutual recursion of |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good!
fix: Display function name and body when inlining recursion limit hit (noir-lang/noir#6291) feat(interpreter): Comptime derive generators (noir-lang/noir#6303) fix: enforce correctness of decompositions performed at compile time (noir-lang/noir#6278) feat: Warn about private types leaking in public functions and struct fields (noir-lang/noir#6296) chore(docs): refactoring guides and some other nits (noir-lang/noir#6175) fix: Do not warn on unused self in traits (noir-lang/noir#6298) fix: Reject invalid expression with in CLI parser (noir-lang/noir#6287)
fix: Display function name and body when inlining recursion limit hit (noir-lang/noir#6291) feat(interpreter): Comptime derive generators (noir-lang/noir#6303) fix: enforce correctness of decompositions performed at compile time (noir-lang/noir#6278) feat: Warn about private types leaking in public functions and struct fields (noir-lang/noir#6296) chore(docs): refactoring guides and some other nits (noir-lang/noir#6175) fix: Do not warn on unused self in traits (noir-lang/noir#6298) fix: Reject invalid expression with in CLI parser (noir-lang/noir#6287)
* master: fix: Allow array map on empty arrays (#6305) fix: Display function name and body when inlining recursion limit hit (#6291) feat(interpreter): Comptime derive generators (#6303) fix: enforce correctness of decompositions performed at compile time (#6278) feat: Warn about private types leaking in public functions and struct fields (#6296) chore(docs): refactoring guides and some other nits (#6175)
* master: feat: Sync from aztec-packages (#6301) fix: Allow array map on empty arrays (#6305) fix: Display function name and body when inlining recursion limit hit (#6291) feat(interpreter): Comptime derive generators (#6303) fix: enforce correctness of decompositions performed at compile time (#6278) feat: Warn about private types leaking in public functions and struct fields (#6296) chore(docs): refactoring guides and some other nits (#6175) fix: Do not warn on unused self in traits (#6298) fix: Reject invalid expression with in CLI parser (#6287)
fix: Allow array map on empty arrays (noir-lang/noir#6305) fix: Display function name and body when inlining recursion limit hit (noir-lang/noir#6291) feat(interpreter): Comptime derive generators (noir-lang/noir#6303) fix: enforce correctness of decompositions performed at compile time (noir-lang/noir#6278) feat: Warn about private types leaking in public functions and struct fields (noir-lang/noir#6296) chore(docs): refactoring guides and some other nits (noir-lang/noir#6175) fix: Do not warn on unused self in traits (noir-lang/noir#6298) fix: Reject invalid expression with in CLI parser (noir-lang/noir#6287)
feat: Sync from aztec-packages (noir-lang/noir#6301) fix: Allow array map on empty arrays (noir-lang/noir#6305) fix: Display function name and body when inlining recursion limit hit (noir-lang/noir#6291) feat(interpreter): Comptime derive generators (noir-lang/noir#6303) fix: enforce correctness of decompositions performed at compile time (noir-lang/noir#6278) feat: Warn about private types leaking in public functions and struct fields (noir-lang/noir#6296) chore(docs): refactoring guides and some other nits (noir-lang/noir#6175) fix: Do not warn on unused self in traits (noir-lang/noir#6298) fix: Reject invalid expression with in CLI parser (noir-lang/noir#6287)
feat: Sync from aztec-packages (noir-lang/noir#6301) fix: Allow array map on empty arrays (noir-lang/noir#6305) fix: Display function name and body when inlining recursion limit hit (noir-lang/noir#6291) feat(interpreter): Comptime derive generators (noir-lang/noir#6303) fix: enforce correctness of decompositions performed at compile time (noir-lang/noir#6278) feat: Warn about private types leaking in public functions and struct fields (noir-lang/noir#6296) chore(docs): refactoring guides and some other nits (noir-lang/noir#6175) fix: Do not warn on unused self in traits (noir-lang/noir#6298) fix: Reject invalid expression with in CLI parser (noir-lang/noir#6287)
* master: (202 commits) chore: remove usage of slices in pedersen hash (#6295) chore: remove dead function (#6308) feat: new formatter (#6300) feat: Sync from aztec-packages (#6301) fix: Allow array map on empty arrays (#6305) fix: Display function name and body when inlining recursion limit hit (#6291) feat(interpreter): Comptime derive generators (#6303) fix: enforce correctness of decompositions performed at compile time (#6278) feat: Warn about private types leaking in public functions and struct fields (#6296) chore(docs): refactoring guides and some other nits (#6175) fix: Do not warn on unused self in traits (#6298) fix: Reject invalid expression with in CLI parser (#6287) chore: regression test for #5462 (#6286) feat(improve): Remove scan through globals (#6282) feat: show LSP diagnostic related information (#6277) feat: trait inheritance (#6252) feat: optimize reading a workspace's files (#6281) fix: prevent compiler panic when popping from empty slices (#6274) feat(test): Include the PoseidonHasher in the fuzzing (#6280) feat: slightly improve "unexpected token" error message (#6279) ...
…/noir#6295) chore: remove dead function (noir-lang/noir#6308) feat: new formatter (noir-lang/noir#6300) feat: Sync from aztec-packages (noir-lang/noir#6301) fix: Allow array map on empty arrays (noir-lang/noir#6305) fix: Display function name and body when inlining recursion limit hit (noir-lang/noir#6291) feat(interpreter): Comptime derive generators (noir-lang/noir#6303) fix: enforce correctness of decompositions performed at compile time (noir-lang/noir#6278) feat: Warn about private types leaking in public functions and struct fields (noir-lang/noir#6296) chore(docs): refactoring guides and some other nits (noir-lang/noir#6175) fix: Do not warn on unused self in traits (noir-lang/noir#6298) fix: Reject invalid expression with in CLI parser (noir-lang/noir#6287)
chore: remove dead function (noir-lang/noir#6308) feat: new formatter (noir-lang/noir#6300) feat: Sync from aztec-packages (noir-lang/noir#6301) fix: Allow array map on empty arrays (noir-lang/noir#6305) fix: Display function name and body when inlining recursion limit hit (noir-lang/noir#6291) feat(interpreter): Comptime derive generators (noir-lang/noir#6303) fix: enforce correctness of decompositions performed at compile time (noir-lang/noir#6278) feat: Warn about private types leaking in public functions and struct fields (noir-lang/noir#6296) chore(docs): refactoring guides and some other nits (noir-lang/noir#6175) fix: Do not warn on unused self in traits (noir-lang/noir#6298) fix: Reject invalid expression with in CLI parser (noir-lang/noir#6287)
🤖 I have created a release *beep* *boop* --- <details><summary>0.36.0</summary> ## [0.36.0](v0.35.0...v0.36.0) (2024-10-22) ### ⚠ BREAKING CHANGES * remove pedersen commitment (AztecProtocol/aztec-packages#9107) * remove pedersen hash opcode (AztecProtocol/aztec-packages#9245) * Brillig and AVM default all uninitialized memory cells to Field 0 (AztecProtocol/aztec-packages#9057) * remove keccak256 opcode from ACIR/Brillig (AztecProtocol/aztec-packages#9104) * Brillig with a stack and conditional inlining (AztecProtocol/aztec-packages#8989) * **avm:** remove CMOV opcode (AztecProtocol/aztec-packages#9030) * Integer division is not the inverse of integer multiplication ([#6243](#6243)) * kind size checks ([#6137](#6137)) * Change tag attributes to require a ' prefix ([#6235](#6235)) ### Features * Add `checked_transmute` ([#6262](#6262)) ([2618061](2618061)) * Add more `Type` and `UnresolvedType` methods ([#5994](#5994)) ([8236cbd](8236cbd)) * Allow `unconstrained` after visibility ([#6246](#6246)) ([f6dfbcf](f6dfbcf)) * Brillig and AVM default all uninitialized memory cells to Field 0 (AztecProtocol/aztec-packages#9057) ([70dcf4a](70dcf4a)) * Brillig with a stack and conditional inlining (AztecProtocol/aztec-packages#8989) ([70dcf4a](70dcf4a)) * Don't crash LSP when there are errors resolving the workspace ([#6257](#6257)) ([7cc7197](7cc7197)) * Don't suggest private struct fields in LSP ([#6256](#6256)) ([2a727b3](2a727b3)) * Handwritten parser ([#6180](#6180)) ([c4273a0](c4273a0)) * **improve:** Remove scan through globals ([#6282](#6282)) ([fd91913](fd91913)) * Inclusive for loop ([#6200](#6200)) ([bd861f2](bd861f2)) * Integrate databus in the private kernels (AztecProtocol/aztec-packages#9028) ([70dcf4a](70dcf4a)) * **interpreter:** Comptime derive generators ([#6303](#6303)) ([d8767b3](d8767b3)) * Kind size checks ([#6137](#6137)) ([6e40f62](6e40f62)) * New formatter ([#6300](#6300)) ([62404d7](62404d7)) * Optimize `Quoted::as_expr` by parsing just once ([#6237](#6237)) ([a4fcd00](a4fcd00)) * Optimize reading a workspace's files ([#6281](#6281)) ([b54ed26](b54ed26)) * **perf:** Flamegraphs for test program execution benchmarks ([#6253](#6253)) ([c186791](c186791)) * **perf:** Follow array sets backwards in array set from get optimization ([#6208](#6208)) ([999071b](999071b)) * Recover from '=' instead of ':' in struct constructor/pattern ([#6236](#6236)) ([9a12f31](9a12f31)) * Remove byte decomposition in `compute_decomposition` ([#6159](#6159)) ([a8bcae2](a8bcae2)) * Show LSP diagnostic related information ([#6277](#6277)) ([c8a91a5](c8a91a5)) * Slightly improve "unexpected token" error message ([#6279](#6279)) ([8232bfa](8232bfa)) * Sync from noir (AztecProtocol/aztec-packages#8934) ([70dcf4a](70dcf4a)) * Sync from noir (AztecProtocol/aztec-packages#9034) ([70dcf4a](70dcf4a)) * Sync from noir (AztecProtocol/aztec-packages#9099) ([70dcf4a](70dcf4a)) * Sync from noir (AztecProtocol/aztec-packages#9275) ([70dcf4a](70dcf4a)) * **test:** Fuzz poseidon hases against an external library ([#6273](#6273)) ([8d8ea89](8d8ea89)) * **test:** Fuzz test poseidon2 hash equivalence ([#6265](#6265)) ([f61ba03](f61ba03)) * **test:** Fuzz test stdlib hash functions ([#6233](#6233)) ([1a2ca46](1a2ca46)) * **test:** Include the PoseidonHasher in the fuzzing ([#6280](#6280)) ([afb8a7c](afb8a7c)) * Trait inheritance ([#6252](#6252)) ([d3301a4](d3301a4)) * Visibility for impl functions ([#6179](#6179)) ([1b26440](1b26440)) * Visibility for struct fields ([#6221](#6221)) ([fc1c7ab](fc1c7ab)) * Warn about private types leaking in public functions and struct fields ([#6296](#6296)) ([67ac0d6](67ac0d6)) ### Bug Fixes * Add missing visibility for auto-import names ([#6205](#6205)) ([c3cb38a](c3cb38a)) * Address inactive public key check in `verify_signature_noir` ([#6270](#6270)) ([e4325aa](e4325aa)) * Allow array map on empty arrays ([#6305](#6305)) ([51ae1b3](51ae1b3)) * Change tag attributes to require a ' prefix ([#6235](#6235)) ([b43dcb2](b43dcb2)) * Check for Schnorr null signature ([#6226](#6226)) ([2430920](2430920)) * Display function name and body when inlining recursion limit hit ([#6291](#6291)) ([33a1e7d](33a1e7d)) * Do not warn on unused self in traits ([#6298](#6298)) ([4d524bf](4d524bf)) * Don't warn on unuse global if it has an abi annotation ([#6258](#6258)) ([e13f617](e13f617)) * Don't warn on unused struct that has an abi annotation ([#6254](#6254)) ([8a31632](8a31632)) * Don't warn twice when referring to private item ([#6216](#6216)) ([619c545](619c545)) * Enforce correctness of decompositions performed at compile time ([#6278](#6278)) ([53252fd](53252fd)) * **frontend:** Do not warn when a nested struct is provided as input to main ([#6239](#6239)) ([9dfe223](9dfe223)) * Handle dfg databus in SSA normalization ([#6249](#6249)) ([9d8bee5](9d8bee5)) * Handle nested arrays in calldata ([#6232](#6232)) ([0ab8f5e](0ab8f5e)) * Homogeneous input points for EC ADD ([#6241](#6241)) ([f6a7306](f6a7306)) * Integer division is not the inverse of integer multiplication ([#6243](#6243)) ([1cd2587](1cd2587)) * Panic on composite types within databus ([#6225](#6225)) ([29bd125](29bd125)) * Prevent compiler panic when popping from empty slices ([#6274](#6274)) ([87137d8](87137d8)) * Reject invalid expression with in CLI parser ([#6287](#6287)) ([052aee8](052aee8)) * Remove need for duplicate attributes on each function (AztecProtocol/aztec-packages#9244) ([70dcf4a](70dcf4a)) * Visibility for impl methods ([#6261](#6261)) ([70cbeb4](70cbeb4)) ### Miscellaneous Chores * Remove keccak256 opcode from ACIR/Brillig (AztecProtocol/aztec-packages#9104) ([70dcf4a](70dcf4a)) * Remove pedersen commitment (AztecProtocol/aztec-packages#9107) ([70dcf4a](70dcf4a)) * Remove pedersen hash opcode (AztecProtocol/aztec-packages#9245) ([70dcf4a](70dcf4a)) ### Code Refactoring * **avm:** Remove CMOV opcode (AztecProtocol/aztec-packages#9030) ([70dcf4a](70dcf4a)) </details> <details><summary>0.52.0</summary> ## [0.52.0](v0.51.0...v0.52.0) (2024-10-22) ### ⚠ BREAKING CHANGES * remove pedersen commitment (AztecProtocol/aztec-packages#9107) * remove pedersen hash opcode (AztecProtocol/aztec-packages#9245) * Brillig and AVM default all uninitialized memory cells to Field 0 (AztecProtocol/aztec-packages#9057) * remove keccak256 opcode from ACIR/Brillig (AztecProtocol/aztec-packages#9104) * Brillig with a stack and conditional inlining (AztecProtocol/aztec-packages#8989) * **avm:** remove CMOV opcode (AztecProtocol/aztec-packages#9030) * remove sha256 opcode (AztecProtocol/aztec-packages#4571) * add support for u1 in the avm, ToRadix's radix arg is a memory addr (AztecProtocol/aztec-packages#8570) * Add Not instruction in brillig (AztecProtocol/aztec-packages#8488) * **avm:** variants for SET opcode (AztecProtocol/aztec-packages#8441) * **avm/brillig:** take addresses in calldatacopy (AztecProtocol/aztec-packages#8388) * constant inputs for blackbox (AztecProtocol/aztec-packages#7222) ### Features * (bb) 128-bit challenges (AztecProtocol/aztec-packages#8406) ([3c3ed1e](3c3ed1e)) * **acir_gen:** Width aware ACIR gen addition ([#5493](#5493)) ([85fa592](85fa592)) * Add assertions for ACVM `FunctionInput` `bit_size` ([#5864](#5864)) ([8712f4c](8712f4c)) * Add Not instruction in brillig (AztecProtocol/aztec-packages#8488) ([95e19ab](95e19ab)) * Add recursive aggregation object to proving/verification keys (AztecProtocol/aztec-packages#6770) ([4ea25db](4ea25db)) * Add reusable procedures to brillig generation (AztecProtocol/aztec-packages#7981) ([5c4f19f](5c4f19f)) * Add support for u1 in the avm, ToRadix's radix arg is a memory addr (AztecProtocol/aztec-packages#8570) ([e8bbce7](e8bbce7)) * Added indirect const instruction (AztecProtocol/aztec-packages#8065) ([5c4f19f](5c4f19f)) * Adding aggregation to honk and rollup (AztecProtocol/aztec-packages#7466) ([4ea25db](4ea25db)) * Automate verify_honk_proof input generation (AztecProtocol/aztec-packages#8092) ([5c4f19f](5c4f19f)) * **avm/brillig:** Take addresses in calldatacopy (AztecProtocol/aztec-packages#8388) ([3c3ed1e](3c3ed1e)) * **avm:** Variants for SET opcode (AztecProtocol/aztec-packages#8441) ([3c3ed1e](3c3ed1e)) * Avoid heap allocs when going to/from field (AztecProtocol/aztec-packages#7547) ([daad75c](daad75c)) * Brillig and AVM default all uninitialized memory cells to Field 0 (AztecProtocol/aztec-packages#9057) ([70dcf4a](70dcf4a)) * Brillig with a stack and conditional inlining (AztecProtocol/aztec-packages#8989) ([70dcf4a](70dcf4a)) * Change the layout of arrays and vectors to be a single pointer (AztecProtocol/aztec-packages#8448) ([d4832ec](d4832ec)) * Constant inputs for blackbox (AztecProtocol/aztec-packages#7222) ([fb97bb9](fb97bb9)) * Hook up secondary calldata column in dsl (AztecProtocol/aztec-packages#7759) ([4ea25db](4ea25db)) * Integrate databus in the private kernels (AztecProtocol/aztec-packages#9028) ([70dcf4a](70dcf4a)) * Integrate new proving systems in e2e (AztecProtocol/aztec-packages#6971) ([daad75c](daad75c)) * Make Brillig do integer arithmetic operations using u128 instead of Bigint (AztecProtocol/aztec-packages#7518) ([daad75c](daad75c)) * Make token transfer be recursive (AztecProtocol/aztec-packages#7730) ([4ea25db](4ea25db)) * New test programs for wasm benchmarking (AztecProtocol/aztec-packages#8389) ([95e19ab](95e19ab)) * Note hashes as points (AztecProtocol/aztec-packages#7618) ([4ea25db](4ea25db)) * Optimize allocating immediate amounts of memory (AztecProtocol/aztec-packages#8579) ([e8bbce7](e8bbce7)) * Optimize constant array handling in brillig_gen (AztecProtocol/aztec-packages#7661) ([4ea25db](4ea25db)) * Optimize to_radix (AztecProtocol/aztec-packages#8073) ([5c4f19f](5c4f19f)) * Pass calldata ids to the backend (AztecProtocol/aztec-packages#7875) ([4ea25db](4ea25db)) * Poseidon2 gates for Ultra arithmetisation (AztecProtocol/aztec-packages#7494) ([5c4f19f](5c4f19f)) * **profiler:** Add support for brillig functions in opcodes-flamegraph (AztecProtocol/aztec-packages#7698) ([4ea25db](4ea25db)) * Remove sha256 opcode (AztecProtocol/aztec-packages#4571) ([e8bbce7](e8bbce7)) * Removing superfluous call to MSM (AztecProtocol/aztec-packages#7708) ([4ea25db](4ea25db)) * Report gates and VKs of private protocol circuits with megahonk (AztecProtocol/aztec-packages#7722) ([4ea25db](4ea25db)) * Simplify constant calls to `poseidon2_permutation`, `schnorr_verify` and `embedded_curve_add` ([#5140](#5140)) ([2823ba7](2823ba7)) * Small optimization in toradix (AztecProtocol/aztec-packages#8040) ([5c4f19f](5c4f19f)) * 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)) * Sync from noir (AztecProtocol/aztec-packages#7743) ([4ea25db](4ea25db)) * Sync from noir (AztecProtocol/aztec-packages#7862) ([4ea25db](4ea25db)) * Sync from noir (AztecProtocol/aztec-packages#7945) ([4ea25db](4ea25db)) * Sync from noir (AztecProtocol/aztec-packages#7958) ([5c4f19f](5c4f19f)) * Sync from noir (AztecProtocol/aztec-packages#8008) ([5c4f19f](5c4f19f)) * Sync from noir (AztecProtocol/aztec-packages#8093) ([5c4f19f](5c4f19f)) * Sync from noir (AztecProtocol/aztec-packages#8125) ([f0c2686](f0c2686)) * Sync from noir (AztecProtocol/aztec-packages#8237) ([f0c2686](f0c2686)) * Sync from noir (AztecProtocol/aztec-packages#8423) ([3c3ed1e](3c3ed1e)) * Sync from noir (AztecProtocol/aztec-packages#8435) ([3c3ed1e](3c3ed1e)) * Sync from noir (AztecProtocol/aztec-packages#8466) ([3c3ed1e](3c3ed1e)) * Sync from noir (AztecProtocol/aztec-packages#8482) ([d4832ec](d4832ec)) * Sync from noir (AztecProtocol/aztec-packages#8512) ([95e19ab](95e19ab)) * Sync from noir (AztecProtocol/aztec-packages#8526) ([95e19ab](95e19ab)) * Sync from noir (AztecProtocol/aztec-packages#8934) ([70dcf4a](70dcf4a)) * Sync from noir (AztecProtocol/aztec-packages#9034) ([70dcf4a](70dcf4a)) * Sync from noir (AztecProtocol/aztec-packages#9099) ([70dcf4a](70dcf4a)) * Sync from noir (AztecProtocol/aztec-packages#9275) ([70dcf4a](70dcf4a)) * **test:** Fuzz test poseidon2 hash equivalence ([#6265](#6265)) ([f61ba03](f61ba03)) * **test:** Fuzz test stdlib hash functions ([#6233](#6233)) ([1a2ca46](1a2ca46)) * TXE nr deployments, dependency cleanup for CLI (AztecProtocol/aztec-packages#7548) ([4ea25db](4ea25db)) * Typing return values of embedded_curve_ops (AztecProtocol/aztec-packages#7413) ([daad75c](daad75c)) * Unify all acir recursion constraints based on RecursionConstraint and proof_type (AztecProtocol/aztec-packages#7993) ([5c4f19f](5c4f19f)) ### Bug Fixes * Add trailing extra arguments for backend in gates_flamegraph (AztecProtocol/aztec-packages#7472) ([daad75c](daad75c)) * **debugger:** Update the debugger to handle the new Brillig debug metadata format ([#5706](#5706)) ([a31f82e](a31f82e)) * Deflatten databus visibilities (AztecProtocol/aztec-packages#7761) ([4ea25db](4ea25db)) * Do not duplicate redundant Brillig debug metadata ([#5696](#5696)) ([e4f7dbe](e4f7dbe)) * Export brillig names in contract functions (AztecProtocol/aztec-packages#8212) ([f0c2686](f0c2686)) * Handle multiple entry points for Brillig call stack resolution after metadata deduplication ([#5788](#5788)) ([38fe9dd](38fe9dd)) * Homogeneous input points for EC ADD ([#6241](#6241)) ([f6a7306](f6a7306)) * Move BigInt modulus checks to runtime in brillig ([#5374](#5374)) ([741d339](741d339)) * Reject invalid expression with in CLI parser ([#6287](#6287)) ([052aee8](052aee8)) * Remove need for duplicate attributes on each function (AztecProtocol/aztec-packages#9244) ([70dcf4a](70dcf4a)) * Restrict keccak256_injective test input to 8 bits ([#5977](#5977)) ([a1b1346](a1b1346)) * Revert "feat: Sync from noir (AztecProtocol/aztec-packages#7512)" (AztecProtocol/aztec-packages#7558) ([daad75c](daad75c)) ### Miscellaneous Chores * Remove keccak256 opcode from ACIR/Brillig (AztecProtocol/aztec-packages#9104) ([70dcf4a](70dcf4a)) * Remove pedersen commitment (AztecProtocol/aztec-packages#9107) ([70dcf4a](70dcf4a)) * Remove pedersen hash opcode (AztecProtocol/aztec-packages#9245) ([70dcf4a](70dcf4a)) ### Code Refactoring * **avm:** Remove CMOV opcode (AztecProtocol/aztec-packages#9030) ([70dcf4a](70dcf4a)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
…ompilation time (noir-lang/noir#6307) chore: update `noir-edwards` repo to point at `noir-lang` org (noir-lang/noir#6323) feat: Sha256 refactoring and benchmark with longer input (noir-lang/noir#6318) chore: Release Noir(0.36.0) (noir-lang/noir#6213) chore: remove usage of slices in pedersen hash (noir-lang/noir#6295) chore: remove dead function (noir-lang/noir#6308) feat: new formatter (noir-lang/noir#6300) feat: Sync from aztec-packages (noir-lang/noir#6301) fix: Allow array map on empty arrays (noir-lang/noir#6305) fix: Display function name and body when inlining recursion limit hit (noir-lang/noir#6291) feat(interpreter): Comptime derive generators (noir-lang/noir#6303) fix: enforce correctness of decompositions performed at compile time (noir-lang/noir#6278) feat: Warn about private types leaking in public functions and struct fields (noir-lang/noir#6296) chore(docs): refactoring guides and some other nits (noir-lang/noir#6175) fix: Do not warn on unused self in traits (noir-lang/noir#6298) fix: Reject invalid expression with in CLI parser (noir-lang/noir#6287)
…ime (noir-lang/noir#6307) chore: update `noir-edwards` repo to point at `noir-lang` org (noir-lang/noir#6323) feat: Sha256 refactoring and benchmark with longer input (noir-lang/noir#6318) chore: Release Noir(0.36.0) (noir-lang/noir#6213) chore: remove usage of slices in pedersen hash (noir-lang/noir#6295) chore: remove dead function (noir-lang/noir#6308) feat: new formatter (noir-lang/noir#6300) feat: Sync from aztec-packages (noir-lang/noir#6301) fix: Allow array map on empty arrays (noir-lang/noir#6305) fix: Display function name and body when inlining recursion limit hit (noir-lang/noir#6291) feat(interpreter): Comptime derive generators (noir-lang/noir#6303) fix: enforce correctness of decompositions performed at compile time (noir-lang/noir#6278) feat: Warn about private types leaking in public functions and struct fields (noir-lang/noir#6296) chore(docs): refactoring guides and some other nits (noir-lang/noir#6175) fix: Do not warn on unused self in traits (noir-lang/noir#6298) fix: Reject invalid expression with in CLI parser (noir-lang/noir#6287)
Automated pull of development from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE feat(ssa): Various mem2reg reverts to reduce memory and compilation time (noir-lang/noir#6307) chore: update `noir-edwards` repo to point at `noir-lang` org (noir-lang/noir#6323) feat: Sha256 refactoring and benchmark with longer input (noir-lang/noir#6318) chore: Release Noir(0.36.0) (noir-lang/noir#6213) chore: remove usage of slices in pedersen hash (noir-lang/noir#6295) chore: remove dead function (noir-lang/noir#6308) feat: new formatter (noir-lang/noir#6300) feat: Sync from aztec-packages (noir-lang/noir#6301) fix: Allow array map on empty arrays (noir-lang/noir#6305) fix: Display function name and body when inlining recursion limit hit (noir-lang/noir#6291) feat(interpreter): Comptime derive generators (noir-lang/noir#6303) fix: enforce correctness of decompositions performed at compile time (noir-lang/noir#6278) feat: Warn about private types leaking in public functions and struct fields (noir-lang/noir#6296) chore(docs): refactoring guides and some other nits (noir-lang/noir#6175) fix: Do not warn on unused self in traits (noir-lang/noir#6298) fix: Reject invalid expression with in CLI parser (noir-lang/noir#6287) END_COMMIT_OVERRIDE --------- Co-authored-by: Tom French <tom@tomfren.ch>
Automated pull of development from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE feat(ssa): Various mem2reg reverts to reduce memory and compilation time (noir-lang/noir#6307) chore: update `noir-edwards` repo to point at `noir-lang` org (noir-lang/noir#6323) feat: Sha256 refactoring and benchmark with longer input (noir-lang/noir#6318) chore: Release Noir(0.36.0) (noir-lang/noir#6213) chore: remove usage of slices in pedersen hash (noir-lang/noir#6295) chore: remove dead function (noir-lang/noir#6308) feat: new formatter (noir-lang/noir#6300) feat: Sync from aztec-packages (noir-lang/noir#6301) fix: Allow array map on empty arrays (noir-lang/noir#6305) fix: Display function name and body when inlining recursion limit hit (noir-lang/noir#6291) feat(interpreter): Comptime derive generators (noir-lang/noir#6303) fix: enforce correctness of decompositions performed at compile time (noir-lang/noir#6278) feat: Warn about private types leaking in public functions and struct fields (noir-lang/noir#6296) chore(docs): refactoring guides and some other nits (noir-lang/noir#6175) fix: Do not warn on unused self in traits (noir-lang/noir#6298) fix: Reject invalid expression with in CLI parser (noir-lang/noir#6287) END_COMMIT_OVERRIDE --------- Co-authored-by: Tom French <tom@tomfren.ch>
# Description ## Problem\* Related to #4828 Followup to #6291 ## Summary\* Added a new `ResolutionError::UnconditionalRecursion` which should result in a warning or compilation error where the function body recurses into the defining function with no alternative way to return. ## Additional Context ## Documentation\* Check one: - [x] No documentation needed. - [ ] Documentation included in this PR. - [ ] **[For Experimental Features]** Documentation to be submitted in a separate PR. # PR Checklist\* - [x] I have tested the changes locally. - [ ] I have formatted the changes with [Prettier](https://prettier.io/) and/or `cargo fmt` on default settings.
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.60.0</summary> ## [0.60.0](aztec-package-v0.59.0...aztec-package-v0.60.0) (2024-10-24) ### Features * Introduce default public keys and replace empty public keys ([#9277](#9277)) ([47718ea](47718ea)) * Sequencer cast votes ([#9247](#9247)) ([bd05d87](bd05d87)) </details> <details><summary>barretenberg.js: 0.60.0</summary> ## [0.60.0](barretenberg.js-v0.59.0...barretenberg.js-v0.60.0) (2024-10-24) ### Features * Eccvm translator zk sumcheck ([#9199](#9199)) ([c7d4572](c7d4572)) ### Miscellaneous * Remove noir_js_backend_barretenberg ([#9338](#9338)) ([cefe3d9](cefe3d9)) </details> <details><summary>aztec-packages: 0.60.0</summary> ## [0.60.0](aztec-packages-v0.59.0...aztec-packages-v0.60.0) (2024-10-24) ### ⚠ BREAKING CHANGES * replace usage of vector in keccakf1600 input with array ([#9350](#9350)) * TXE single execution env ([#9183](#9183)) * remove hash opcodes from AVM ([#9209](#9209)) * remove delegate call and storage address ([#9330](#9330)) ### Features * Apella ([#9084](#9084)) ([205ce69](205ce69)) * **avm:** Full poseidon2 ([#9141](#9141)) ([eae7587](eae7587)) * Bytes to fields and back ([#8590](#8590)) ([65b8493](65b8493)) * Constrain protocol VK hashing ([#9304](#9304)) ([3d17e13](3d17e13)) * **docs:** Nits ([#8948](#8948)) ([008fdd1](008fdd1)) * Eccvm translator zk sumcheck ([#9199](#9199)) ([c7d4572](c7d4572)) * Gerousia ([#8942](#8942)) ([54b5ba2](54b5ba2)) * Get logs by tags ([#9353](#9353)) ([719c33e](719c33e)) * Handle reorgs on sequencer ([#9201](#9201)) ([d4dea16](d4dea16)) * **interpreter:** Comptime derive generators (noir-lang/noir#6303) ([a166203](a166203)) * Introduce default public keys and replace empty public keys ([#9277](#9277)) ([47718ea](47718ea)) * Modify private calldata to use public keys ([#9276](#9276)) ([e42e219](e42e219)) * New formatter (noir-lang/noir#6300) ([a166203](a166203)) * **nr:** Serde for signed ints ([#9211](#9211)) ([66f31c7](66f31c7)) * Publicly accessible bootstrap cache ([#9335](#9335)) ([28392d5](28392d5)) * Remove hash opcodes from AVM ([#9209](#9209)) ([e6db535](e6db535)), closes [#9208](#9208) * Sequencer cast votes ([#9247](#9247)) ([bd05d87](bd05d87)) * Sha256 refactoring and benchmark with longer input (noir-lang/noir#6318) ([a166203](a166203)) * **ssa:** Various mem2reg reverts to reduce memory and compilation time (noir-lang/noir#6307) ([a166203](a166203)) * Sync from aztec-packages (noir-lang/noir#6301) ([a166203](a166203)) * Translator on Shplemini ([#9329](#9329)) ([21fa3cf](21fa3cf)) * TXE single execution env ([#9183](#9183)) ([1d1d76d](1d1d76d)) * Warn about private types leaking in public functions and struct fields (noir-lang/noir#6296) ([a166203](a166203)) ### Bug Fixes * 4epochs kind test et al ([#9358](#9358)) ([e480e6b](e480e6b)) * Allow array map on empty arrays (noir-lang/noir#6305) ([a166203](a166203)) * **avm:** Public dispatch in proving tests ([#9331](#9331)) ([42e5221](42e5221)) * Barretenberg readme scare warning ([#9313](#9313)) ([f759d55](f759d55)) * Broken constants gen ([#9387](#9387)) ([eb7bc6b](eb7bc6b)) * Ci github clone edge case ([#9320](#9320)) ([15abe6f](15abe6f)) * **ci:** Report 4 epochs true ([#9346](#9346)) ([1ce0fa5](1ce0fa5)) * Display function name and body when inlining recursion limit hit (noir-lang/noir#6291) ([a166203](a166203)) * Do not warn on unused self in traits (noir-lang/noir#6298) ([a166203](a166203)) * Enforce correctness of decompositions performed at compile time (noir-lang/noir#6278) ([a166203](a166203)) * Reject invalid expression with in CLI parser (noir-lang/noir#6287) ([a166203](a166203)) * Remove reliance on invalid decompositions in selector calculation ([#9337](#9337)) ([c8e4260](c8e4260)) * Support empty epochs ([#9341](#9341)) ([9dda91e](9dda91e)) * Use github.actor on publish workflow dispatch ([#9324](#9324)) ([5fa660d](5fa660d)) ### Miscellaneous * **avm:** Some cleaning in avm prover ([#9311](#9311)) ([523aa23](523aa23)) * Bump node types ([#9397](#9397)) ([763d5b1](763d5b1)) * Copying world state binary to yarn project is on generate ([#9194](#9194)) ([8d75dd4](8d75dd4)) * Disable bench-process-history ([#9360](#9360)) ([8e6734e](8e6734e)) * **docs:** Refactoring guides and some other nits (noir-lang/noir#6175) ([a166203](a166203)) * Fix and re-enable prover coordination e2e test ([#9344](#9344)) ([3a1a62c](3a1a62c)) * Implement Fq add ([#9354](#9354)) ([1711fac](1711fac)) * Minor test cleanup ([#9339](#9339)) ([a2ed567](a2ed567)) * Print out gas at start and end of each enqueued call ([#9377](#9377)) ([29c0b95](29c0b95)) * Quick account manager refactor ([#9357](#9357)) ([648d043](648d043)) * Quick keystore refactor ([#9355](#9355)) ([31b9999](31b9999)) * Redo typo PR by pucedoteth ([#9385](#9385)) ([fd1a0d1](fd1a0d1)) * Release Noir(0.36.0) (noir-lang/noir#6213) ([a166203](a166203)) * Remove dead function (noir-lang/noir#6308) ([a166203](a166203)) * Remove delegate call and storage address ([#9330](#9330)) ([465f88e](465f88e)) * Remove noir_js_backend_barretenberg ([#9338](#9338)) ([cefe3d9](cefe3d9)) * Remove unnecessary `is_integral_bit_size` function ([#9352](#9352)) ([ac8e6d7](ac8e6d7)) * Remove usage of slices in pedersen hash (noir-lang/noir#6295) ([a166203](a166203)) * Replace relative paths to noir-protocol-circuits ([32bd7b9](32bd7b9)) * Replace relative paths to noir-protocol-circuits ([add4605](add4605)) * Replace relative paths to noir-protocol-circuits ([8cb89af](8cb89af)) * Replace usage of vector in keccakf1600 input with array ([#9350](#9350)) ([cb58490](cb58490)) * Scenario for upgrading gerousia ([#9246](#9246)) ([66f59d6](66f59d6)) * Silence cache-download.sh ([#9317](#9317)) ([314d9d2](314d9d2)) * Test 4epochs in native-network ([#9309](#9309)) ([ddb312a](ddb312a)) * Unstake the bond when the proof lands ([#9363](#9363)) ([b25b913](b25b913)) * Update `noir-edwards` repo to point at `noir-lang` org (noir-lang/noir#6323) ([a166203](a166203)) * Updated NFT flows ([#9150](#9150)) ([407f8b4](407f8b4)) </details> <details><summary>barretenberg: 0.60.0</summary> ## [0.60.0](barretenberg-v0.59.0...barretenberg-v0.60.0) (2024-10-24) ### ⚠ BREAKING CHANGES * replace usage of vector in keccakf1600 input with array ([#9350](#9350)) * remove hash opcodes from AVM ([#9209](#9209)) * remove delegate call and storage address ([#9330](#9330)) ### Features * **avm:** Full poseidon2 ([#9141](#9141)) ([eae7587](eae7587)) * Eccvm translator zk sumcheck ([#9199](#9199)) ([c7d4572](c7d4572)) * Remove hash opcodes from AVM ([#9209](#9209)) ([e6db535](e6db535)), closes [#9208](#9208) * Translator on Shplemini ([#9329](#9329)) ([21fa3cf](21fa3cf)) ### Bug Fixes * **avm:** Public dispatch in proving tests ([#9331](#9331)) ([42e5221](42e5221)) * Barretenberg readme scare warning ([#9313](#9313)) ([f759d55](f759d55)) ### Miscellaneous * **avm:** Some cleaning in avm prover ([#9311](#9311)) ([523aa23](523aa23)) * Copying world state binary to yarn project is on generate ([#9194](#9194)) ([8d75dd4](8d75dd4)) * Remove delegate call and storage address ([#9330](#9330)) ([465f88e](465f88e)) * Remove noir_js_backend_barretenberg ([#9338](#9338)) ([cefe3d9](cefe3d9)) * Replace usage of vector in keccakf1600 input with array ([#9350](#9350)) ([cb58490](cb58490)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.60.0</summary> ## [0.60.0](AztecProtocol/aztec-packages@aztec-package-v0.59.0...aztec-package-v0.60.0) (2024-10-24) ### Features * Introduce default public keys and replace empty public keys ([#9277](AztecProtocol/aztec-packages#9277)) ([47718ea](AztecProtocol/aztec-packages@47718ea)) * Sequencer cast votes ([#9247](AztecProtocol/aztec-packages#9247)) ([bd05d87](AztecProtocol/aztec-packages@bd05d87)) </details> <details><summary>barretenberg.js: 0.60.0</summary> ## [0.60.0](AztecProtocol/aztec-packages@barretenberg.js-v0.59.0...barretenberg.js-v0.60.0) (2024-10-24) ### Features * Eccvm translator zk sumcheck ([#9199](AztecProtocol/aztec-packages#9199)) ([c7d4572](AztecProtocol/aztec-packages@c7d4572)) ### Miscellaneous * Remove noir_js_backend_barretenberg ([#9338](AztecProtocol/aztec-packages#9338)) ([cefe3d9](AztecProtocol/aztec-packages@cefe3d9)) </details> <details><summary>aztec-packages: 0.60.0</summary> ## [0.60.0](AztecProtocol/aztec-packages@aztec-packages-v0.59.0...aztec-packages-v0.60.0) (2024-10-24) ### ⚠ BREAKING CHANGES * replace usage of vector in keccakf1600 input with array ([#9350](AztecProtocol/aztec-packages#9350)) * TXE single execution env ([#9183](AztecProtocol/aztec-packages#9183)) * remove hash opcodes from AVM ([#9209](AztecProtocol/aztec-packages#9209)) * remove delegate call and storage address ([#9330](AztecProtocol/aztec-packages#9330)) ### Features * Apella ([#9084](AztecProtocol/aztec-packages#9084)) ([205ce69](AztecProtocol/aztec-packages@205ce69)) * **avm:** Full poseidon2 ([#9141](AztecProtocol/aztec-packages#9141)) ([eae7587](AztecProtocol/aztec-packages@eae7587)) * Bytes to fields and back ([#8590](AztecProtocol/aztec-packages#8590)) ([65b8493](AztecProtocol/aztec-packages@65b8493)) * Constrain protocol VK hashing ([#9304](AztecProtocol/aztec-packages#9304)) ([3d17e13](AztecProtocol/aztec-packages@3d17e13)) * **docs:** Nits ([#8948](AztecProtocol/aztec-packages#8948)) ([008fdd1](AztecProtocol/aztec-packages@008fdd1)) * Eccvm translator zk sumcheck ([#9199](AztecProtocol/aztec-packages#9199)) ([c7d4572](AztecProtocol/aztec-packages@c7d4572)) * Gerousia ([#8942](AztecProtocol/aztec-packages#8942)) ([54b5ba2](AztecProtocol/aztec-packages@54b5ba2)) * Get logs by tags ([#9353](AztecProtocol/aztec-packages#9353)) ([719c33e](AztecProtocol/aztec-packages@719c33e)) * Handle reorgs on sequencer ([#9201](AztecProtocol/aztec-packages#9201)) ([d4dea16](AztecProtocol/aztec-packages@d4dea16)) * **interpreter:** Comptime derive generators (noir-lang/noir#6303) ([a166203](AztecProtocol/aztec-packages@a166203)) * Introduce default public keys and replace empty public keys ([#9277](AztecProtocol/aztec-packages#9277)) ([47718ea](AztecProtocol/aztec-packages@47718ea)) * Modify private calldata to use public keys ([#9276](AztecProtocol/aztec-packages#9276)) ([e42e219](AztecProtocol/aztec-packages@e42e219)) * New formatter (noir-lang/noir#6300) ([a166203](AztecProtocol/aztec-packages@a166203)) * **nr:** Serde for signed ints ([#9211](AztecProtocol/aztec-packages#9211)) ([66f31c7](AztecProtocol/aztec-packages@66f31c7)) * Publicly accessible bootstrap cache ([#9335](AztecProtocol/aztec-packages#9335)) ([28392d5](AztecProtocol/aztec-packages@28392d5)) * Remove hash opcodes from AVM ([#9209](AztecProtocol/aztec-packages#9209)) ([e6db535](AztecProtocol/aztec-packages@e6db535)), closes [#9208](AztecProtocol/aztec-packages#9208) * Sequencer cast votes ([#9247](AztecProtocol/aztec-packages#9247)) ([bd05d87](AztecProtocol/aztec-packages@bd05d87)) * Sha256 refactoring and benchmark with longer input (noir-lang/noir#6318) ([a166203](AztecProtocol/aztec-packages@a166203)) * **ssa:** Various mem2reg reverts to reduce memory and compilation time (noir-lang/noir#6307) ([a166203](AztecProtocol/aztec-packages@a166203)) * Sync from aztec-packages (noir-lang/noir#6301) ([a166203](AztecProtocol/aztec-packages@a166203)) * Translator on Shplemini ([#9329](AztecProtocol/aztec-packages#9329)) ([21fa3cf](AztecProtocol/aztec-packages@21fa3cf)) * TXE single execution env ([#9183](AztecProtocol/aztec-packages#9183)) ([1d1d76d](AztecProtocol/aztec-packages@1d1d76d)) * Warn about private types leaking in public functions and struct fields (noir-lang/noir#6296) ([a166203](AztecProtocol/aztec-packages@a166203)) ### Bug Fixes * 4epochs kind test et al ([#9358](AztecProtocol/aztec-packages#9358)) ([e480e6b](AztecProtocol/aztec-packages@e480e6b)) * Allow array map on empty arrays (noir-lang/noir#6305) ([a166203](AztecProtocol/aztec-packages@a166203)) * **avm:** Public dispatch in proving tests ([#9331](AztecProtocol/aztec-packages#9331)) ([42e5221](AztecProtocol/aztec-packages@42e5221)) * Barretenberg readme scare warning ([#9313](AztecProtocol/aztec-packages#9313)) ([f759d55](AztecProtocol/aztec-packages@f759d55)) * Broken constants gen ([#9387](AztecProtocol/aztec-packages#9387)) ([eb7bc6b](AztecProtocol/aztec-packages@eb7bc6b)) * Ci github clone edge case ([#9320](AztecProtocol/aztec-packages#9320)) ([15abe6f](AztecProtocol/aztec-packages@15abe6f)) * **ci:** Report 4 epochs true ([#9346](AztecProtocol/aztec-packages#9346)) ([1ce0fa5](AztecProtocol/aztec-packages@1ce0fa5)) * Display function name and body when inlining recursion limit hit (noir-lang/noir#6291) ([a166203](AztecProtocol/aztec-packages@a166203)) * Do not warn on unused self in traits (noir-lang/noir#6298) ([a166203](AztecProtocol/aztec-packages@a166203)) * Enforce correctness of decompositions performed at compile time (noir-lang/noir#6278) ([a166203](AztecProtocol/aztec-packages@a166203)) * Reject invalid expression with in CLI parser (noir-lang/noir#6287) ([a166203](AztecProtocol/aztec-packages@a166203)) * Remove reliance on invalid decompositions in selector calculation ([#9337](AztecProtocol/aztec-packages#9337)) ([c8e4260](AztecProtocol/aztec-packages@c8e4260)) * Support empty epochs ([#9341](AztecProtocol/aztec-packages#9341)) ([9dda91e](AztecProtocol/aztec-packages@9dda91e)) * Use github.actor on publish workflow dispatch ([#9324](AztecProtocol/aztec-packages#9324)) ([5fa660d](AztecProtocol/aztec-packages@5fa660d)) ### Miscellaneous * **avm:** Some cleaning in avm prover ([#9311](AztecProtocol/aztec-packages#9311)) ([523aa23](AztecProtocol/aztec-packages@523aa23)) * Bump node types ([#9397](AztecProtocol/aztec-packages#9397)) ([763d5b1](AztecProtocol/aztec-packages@763d5b1)) * Copying world state binary to yarn project is on generate ([#9194](AztecProtocol/aztec-packages#9194)) ([8d75dd4](AztecProtocol/aztec-packages@8d75dd4)) * Disable bench-process-history ([#9360](AztecProtocol/aztec-packages#9360)) ([8e6734e](AztecProtocol/aztec-packages@8e6734e)) * **docs:** Refactoring guides and some other nits (noir-lang/noir#6175) ([a166203](AztecProtocol/aztec-packages@a166203)) * Fix and re-enable prover coordination e2e test ([#9344](AztecProtocol/aztec-packages#9344)) ([3a1a62c](AztecProtocol/aztec-packages@3a1a62c)) * Implement Fq add ([#9354](AztecProtocol/aztec-packages#9354)) ([1711fac](AztecProtocol/aztec-packages@1711fac)) * Minor test cleanup ([#9339](AztecProtocol/aztec-packages#9339)) ([a2ed567](AztecProtocol/aztec-packages@a2ed567)) * Print out gas at start and end of each enqueued call ([#9377](AztecProtocol/aztec-packages#9377)) ([29c0b95](AztecProtocol/aztec-packages@29c0b95)) * Quick account manager refactor ([#9357](AztecProtocol/aztec-packages#9357)) ([648d043](AztecProtocol/aztec-packages@648d043)) * Quick keystore refactor ([#9355](AztecProtocol/aztec-packages#9355)) ([31b9999](AztecProtocol/aztec-packages@31b9999)) * Redo typo PR by pucedoteth ([#9385](AztecProtocol/aztec-packages#9385)) ([fd1a0d1](AztecProtocol/aztec-packages@fd1a0d1)) * Release Noir(0.36.0) (noir-lang/noir#6213) ([a166203](AztecProtocol/aztec-packages@a166203)) * Remove dead function (noir-lang/noir#6308) ([a166203](AztecProtocol/aztec-packages@a166203)) * Remove delegate call and storage address ([#9330](AztecProtocol/aztec-packages#9330)) ([465f88e](AztecProtocol/aztec-packages@465f88e)) * Remove noir_js_backend_barretenberg ([#9338](AztecProtocol/aztec-packages#9338)) ([cefe3d9](AztecProtocol/aztec-packages@cefe3d9)) * Remove unnecessary `is_integral_bit_size` function ([#9352](AztecProtocol/aztec-packages#9352)) ([ac8e6d7](AztecProtocol/aztec-packages@ac8e6d7)) * Remove usage of slices in pedersen hash (noir-lang/noir#6295) ([a166203](AztecProtocol/aztec-packages@a166203)) * Replace relative paths to noir-protocol-circuits ([32bd7b9](AztecProtocol/aztec-packages@32bd7b9)) * Replace relative paths to noir-protocol-circuits ([add4605](AztecProtocol/aztec-packages@add4605)) * Replace relative paths to noir-protocol-circuits ([8cb89af](AztecProtocol/aztec-packages@8cb89af)) * Replace usage of vector in keccakf1600 input with array ([#9350](AztecProtocol/aztec-packages#9350)) ([cb58490](AztecProtocol/aztec-packages@cb58490)) * Scenario for upgrading gerousia ([#9246](AztecProtocol/aztec-packages#9246)) ([66f59d6](AztecProtocol/aztec-packages@66f59d6)) * Silence cache-download.sh ([#9317](AztecProtocol/aztec-packages#9317)) ([314d9d2](AztecProtocol/aztec-packages@314d9d2)) * Test 4epochs in native-network ([#9309](AztecProtocol/aztec-packages#9309)) ([ddb312a](AztecProtocol/aztec-packages@ddb312a)) * Unstake the bond when the proof lands ([#9363](AztecProtocol/aztec-packages#9363)) ([b25b913](AztecProtocol/aztec-packages@b25b913)) * Update `noir-edwards` repo to point at `noir-lang` org (noir-lang/noir#6323) ([a166203](AztecProtocol/aztec-packages@a166203)) * Updated NFT flows ([#9150](AztecProtocol/aztec-packages#9150)) ([407f8b4](AztecProtocol/aztec-packages@407f8b4)) </details> <details><summary>barretenberg: 0.60.0</summary> ## [0.60.0](AztecProtocol/aztec-packages@barretenberg-v0.59.0...barretenberg-v0.60.0) (2024-10-24) ### ⚠ BREAKING CHANGES * replace usage of vector in keccakf1600 input with array ([#9350](AztecProtocol/aztec-packages#9350)) * remove hash opcodes from AVM ([#9209](AztecProtocol/aztec-packages#9209)) * remove delegate call and storage address ([#9330](AztecProtocol/aztec-packages#9330)) ### Features * **avm:** Full poseidon2 ([#9141](AztecProtocol/aztec-packages#9141)) ([eae7587](AztecProtocol/aztec-packages@eae7587)) * Eccvm translator zk sumcheck ([#9199](AztecProtocol/aztec-packages#9199)) ([c7d4572](AztecProtocol/aztec-packages@c7d4572)) * Remove hash opcodes from AVM ([#9209](AztecProtocol/aztec-packages#9209)) ([e6db535](AztecProtocol/aztec-packages@e6db535)), closes [#9208](AztecProtocol/aztec-packages#9208) * Translator on Shplemini ([#9329](AztecProtocol/aztec-packages#9329)) ([21fa3cf](AztecProtocol/aztec-packages@21fa3cf)) ### Bug Fixes * **avm:** Public dispatch in proving tests ([#9331](AztecProtocol/aztec-packages#9331)) ([42e5221](AztecProtocol/aztec-packages@42e5221)) * Barretenberg readme scare warning ([#9313](AztecProtocol/aztec-packages#9313)) ([f759d55](AztecProtocol/aztec-packages@f759d55)) ### Miscellaneous * **avm:** Some cleaning in avm prover ([#9311](AztecProtocol/aztec-packages#9311)) ([523aa23](AztecProtocol/aztec-packages@523aa23)) * Copying world state binary to yarn project is on generate ([#9194](AztecProtocol/aztec-packages#9194)) ([8d75dd4](AztecProtocol/aztec-packages@8d75dd4)) * Remove delegate call and storage address ([#9330](AztecProtocol/aztec-packages#9330)) ([465f88e](AztecProtocol/aztec-packages@465f88e)) * Remove noir_js_backend_barretenberg ([#9338](AztecProtocol/aztec-packages#9338)) ([cefe3d9](AztecProtocol/aztec-packages@cefe3d9)) * Replace usage of vector in keccakf1600 input with array ([#9350](AztecProtocol/aztec-packages#9350)) ([cb58490](AztecProtocol/aztec-packages@cb58490)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Description
Problem*
Resolves #4828
Summary*
Given a program like this:
Changed this panic message:
Into this:
I included the ACIR to help figure out which function is the culprit, in case the name is not enough.
Additional Context
I added a test to show that there is no compilation error or warning for the example program. It would be nice to issue a warning about unconditional recursion like Rust does. I'll try to do that in a followup PR.
Documentation*
Check one:
PR Checklist*
cargo fmt
on default settings.