-
Notifications
You must be signed in to change notification settings - Fork 206
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(ssa): Change array_set to not mutate slices coming from function inputs #6463
Conversation
…function as it might be shared
Changes to Brillig bytecode sizes
🧾 Summary (10% most significant diffs)
Full diff report 👇
|
Changes to circuit sizes
🧾 Summary (10% most significant diffs)
Full diff report 👇
|
This only affects brillig code, right? If so, we should probably ignore the mutability on array sets completely there - that was only ever intended for Acir. Brillig should use the ref counts on each array to determine mutability. |
Changes to number of Brillig opcodes executed
🧾 Summary (10% most significant diffs)
Full diff report 👇
|
Only brillig tests failed with this.
No I'm mixing it up with something. Ah yes, I read this on the
|
So you're saying that if Brillig ignored the |
The original intention was for Acir to only use the mutable field (and for that pass to only be for acir code), and for brillig to only use ref counts for mutation. |
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.
This PR was discussed in scrum and it was agreed to move forwards with this and then follow up with a removal of the concept of array mutability in brillig functions in a followup PR.
@TomAFrench Making a note for later that this should be reverted then once the next PR is made. Since it prevents us from mutating arrays passed by parameters to main in acir and is extra logic that is unneeded once brillig is updated to not check the mutable flag |
…r#6488) fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477) chore: bump rust dependencies (noir-lang/noir#6482) feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481) chore(docs): Update How to Oracles (noir-lang/noir#5675) chore: Release Noir(0.38.0) (noir-lang/noir#6422) fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463) chore: update example to show how to split public inputs in bash (noir-lang/noir#6472) fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461) chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269) fix: let formatter respect newlines between comments (noir-lang/noir#6458) fix: check infix expression is valid in program input (noir-lang/noir#6450) fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454) fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455) fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452) chore: revamp attributes (noir-lang/noir#6424) feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) chore: split path and import lookups (noir-lang/noir#6430) fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448) fix: right shift is not a regular division (noir-lang/noir#6400)
fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477) chore: bump rust dependencies (noir-lang/noir#6482) feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481) chore(docs): Update How to Oracles (noir-lang/noir#5675) chore: Release Noir(0.38.0) (noir-lang/noir#6422) fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463) chore: update example to show how to split public inputs in bash (noir-lang/noir#6472) fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461) chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269) fix: let formatter respect newlines between comments (noir-lang/noir#6458) fix: check infix expression is valid in program input (noir-lang/noir#6450) fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454) fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455) fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452) chore: revamp attributes (noir-lang/noir#6424) feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) chore: split path and import lookups (noir-lang/noir#6430) fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448) fix: right shift is not a regular division (noir-lang/noir#6400)
…r#6488) fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477) chore: bump rust dependencies (noir-lang/noir#6482) feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481) chore(docs): Update How to Oracles (noir-lang/noir#5675) chore: Release Noir(0.38.0) (noir-lang/noir#6422) fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463) chore: update example to show how to split public inputs in bash (noir-lang/noir#6472) fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461) chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269) fix: let formatter respect newlines between comments (noir-lang/noir#6458) fix: check infix expression is valid in program input (noir-lang/noir#6450) fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454) fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455) fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452) chore: revamp attributes (noir-lang/noir#6424) feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) chore: split path and import lookups (noir-lang/noir#6430) fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448) fix: right shift is not a regular division (noir-lang/noir#6400)
fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477) chore: bump rust dependencies (noir-lang/noir#6482) feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481) chore(docs): Update How to Oracles (noir-lang/noir#5675) chore: Release Noir(0.38.0) (noir-lang/noir#6422) fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463) chore: update example to show how to split public inputs in bash (noir-lang/noir#6472) fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461) chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269) fix: let formatter respect newlines between comments (noir-lang/noir#6458) fix: check infix expression is valid in program input (noir-lang/noir#6450) fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454) fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455) fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452) chore: revamp attributes (noir-lang/noir#6424) feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) chore: split path and import lookups (noir-lang/noir#6430) fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448) fix: right shift is not a regular division (noir-lang/noir#6400)
…r#6488) fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477) chore: bump rust dependencies (noir-lang/noir#6482) feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481) chore(docs): Update How to Oracles (noir-lang/noir#5675) chore: Release Noir(0.38.0) (noir-lang/noir#6422) fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463) chore: update example to show how to split public inputs in bash (noir-lang/noir#6472) fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461) chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269) fix: let formatter respect newlines between comments (noir-lang/noir#6458) fix: check infix expression is valid in program input (noir-lang/noir#6450) fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454) fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455) fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452) chore: revamp attributes (noir-lang/noir#6424) feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) chore: split path and import lookups (noir-lang/noir#6430) fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448) fix: right shift is not a regular division (noir-lang/noir#6400)
fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477) chore: bump rust dependencies (noir-lang/noir#6482) feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481) chore(docs): Update How to Oracles (noir-lang/noir#5675) chore: Release Noir(0.38.0) (noir-lang/noir#6422) fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463) chore: update example to show how to split public inputs in bash (noir-lang/noir#6472) fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461) chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269) fix: let formatter respect newlines between comments (noir-lang/noir#6458) fix: check infix expression is valid in program input (noir-lang/noir#6450) fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454) fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455) fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452) chore: revamp attributes (noir-lang/noir#6424) feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) chore: split path and import lookups (noir-lang/noir#6430) fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448) fix: right shift is not a regular division (noir-lang/noir#6400)
feat: avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509) fix(tests): Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508) fix: set local_module before elaborating each trait (noir-lang/noir#6506) fix: parse Slice type in SSa (noir-lang/noir#6507) fix: perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502) feat: SSA parser (noir-lang/noir#6489) chore(test): Run test matrix on test_programs (noir-lang/noir#6429) chore(ci): fix cargo deny (noir-lang/noir#6501) feat: Deduplicate instructions across blocks (noir-lang/noir#6499) chore: move tests for arithmetic generics closer to the code (noir-lang/noir#6497) fix(docs): Fix broken links in oracles doc (noir-lang/noir#6488) fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477) chore: bump rust dependencies (noir-lang/noir#6482) feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481) chore(docs): Update How to Oracles (noir-lang/noir#5675) chore: Release Noir(0.38.0) (noir-lang/noir#6422) fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463) chore: update example to show how to split public inputs in bash (noir-lang/noir#6472) fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461) chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269) fix: let formatter respect newlines between comments (noir-lang/noir#6458) fix: check infix expression is valid in program input (noir-lang/noir#6450) fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454) fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455) fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452) chore: revamp attributes (noir-lang/noir#6424) feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) chore: split path and import lookups (noir-lang/noir#6430) fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448) fix: right shift is not a regular division (noir-lang/noir#6400)
…g/noir#6449) chore(ssa): Skip array_set pass for Brillig functions (noir-lang/noir#6513) chore: Reverse ssa parser diff order (noir-lang/noir#6511) chore: Parse negatives in SSA parser (noir-lang/noir#6510) feat: avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509) fix(tests): Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508) fix: set local_module before elaborating each trait (noir-lang/noir#6506) fix: parse Slice type in SSa (noir-lang/noir#6507) fix: perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502) feat: SSA parser (noir-lang/noir#6489) chore(test): Run test matrix on test_programs (noir-lang/noir#6429) chore(ci): fix cargo deny (noir-lang/noir#6501) feat: Deduplicate instructions across blocks (noir-lang/noir#6499) chore: move tests for arithmetic generics closer to the code (noir-lang/noir#6497) fix(docs): Fix broken links in oracles doc (noir-lang/noir#6488) fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477) chore: bump rust dependencies (noir-lang/noir#6482) feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481) chore(docs): Update How to Oracles (noir-lang/noir#5675) chore: Release Noir(0.38.0) (noir-lang/noir#6422) fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463) chore: update example to show how to split public inputs in bash (noir-lang/noir#6472) fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461) chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269) fix: let formatter respect newlines between comments (noir-lang/noir#6458) fix: check infix expression is valid in program input (noir-lang/noir#6450) fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454) fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455) fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452) chore: revamp attributes (noir-lang/noir#6424) feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) chore: split path and import lookups (noir-lang/noir#6430) fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448) fix: right shift is not a regular division (noir-lang/noir#6400)
chore(ssa): Skip array_set pass for Brillig functions (noir-lang/noir#6513) chore: Reverse ssa parser diff order (noir-lang/noir#6511) chore: Parse negatives in SSA parser (noir-lang/noir#6510) feat: avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509) fix(tests): Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508) fix: set local_module before elaborating each trait (noir-lang/noir#6506) fix: parse Slice type in SSa (noir-lang/noir#6507) fix: perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502) feat: SSA parser (noir-lang/noir#6489) chore(test): Run test matrix on test_programs (noir-lang/noir#6429) chore(ci): fix cargo deny (noir-lang/noir#6501) feat: Deduplicate instructions across blocks (noir-lang/noir#6499) chore: move tests for arithmetic generics closer to the code (noir-lang/noir#6497) fix(docs): Fix broken links in oracles doc (noir-lang/noir#6488) fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477) chore: bump rust dependencies (noir-lang/noir#6482) feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481) chore(docs): Update How to Oracles (noir-lang/noir#5675) chore: Release Noir(0.38.0) (noir-lang/noir#6422) fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463) chore: update example to show how to split public inputs in bash (noir-lang/noir#6472) fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461) chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269) fix: let formatter respect newlines between comments (noir-lang/noir#6458) fix: check infix expression is valid in program input (noir-lang/noir#6450) fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454) fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455) fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452) chore: revamp attributes (noir-lang/noir#6424) feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) chore: split path and import lookups (noir-lang/noir#6430) fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448) fix: right shift is not a regular division (noir-lang/noir#6400)
…me intepreter (noir-lang/noir#6514) fix: disallow `#[test]` on associated functions (noir-lang/noir#6449) chore(ssa): Skip array_set pass for Brillig functions (noir-lang/noir#6513) chore: Reverse ssa parser diff order (noir-lang/noir#6511) chore: Parse negatives in SSA parser (noir-lang/noir#6510) feat: avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509) fix(tests): Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508) fix: set local_module before elaborating each trait (noir-lang/noir#6506) fix: parse Slice type in SSa (noir-lang/noir#6507) fix: perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502) feat: SSA parser (noir-lang/noir#6489) chore(test): Run test matrix on test_programs (noir-lang/noir#6429) chore(ci): fix cargo deny (noir-lang/noir#6501) feat: Deduplicate instructions across blocks (noir-lang/noir#6499) chore: move tests for arithmetic generics closer to the code (noir-lang/noir#6497) fix(docs): Fix broken links in oracles doc (noir-lang/noir#6488) fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477) chore: bump rust dependencies (noir-lang/noir#6482) feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481) chore(docs): Update How to Oracles (noir-lang/noir#5675) chore: Release Noir(0.38.0) (noir-lang/noir#6422) fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463) chore: update example to show how to split public inputs in bash (noir-lang/noir#6472) fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461) chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269) fix: let formatter respect newlines between comments (noir-lang/noir#6458) fix: check infix expression is valid in program input (noir-lang/noir#6450) fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454) fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455) fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452) chore: revamp attributes (noir-lang/noir#6424) feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) chore: split path and import lookups (noir-lang/noir#6430) fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448) fix: right shift is not a regular division (noir-lang/noir#6400)
…me intepreter (noir-lang/noir#6514) fix: disallow `#[test]` on associated functions (noir-lang/noir#6449) chore(ssa): Skip array_set pass for Brillig functions (noir-lang/noir#6513) chore: Reverse ssa parser diff order (noir-lang/noir#6511) chore: Parse negatives in SSA parser (noir-lang/noir#6510) feat: avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509) fix(tests): Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508) fix: set local_module before elaborating each trait (noir-lang/noir#6506) fix: parse Slice type in SSa (noir-lang/noir#6507) fix: perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502) feat: SSA parser (noir-lang/noir#6489) chore(test): Run test matrix on test_programs (noir-lang/noir#6429) chore(ci): fix cargo deny (noir-lang/noir#6501) feat: Deduplicate instructions across blocks (noir-lang/noir#6499) chore: move tests for arithmetic generics closer to the code (noir-lang/noir#6497) fix(docs): Fix broken links in oracles doc (noir-lang/noir#6488) fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477) chore: bump rust dependencies (noir-lang/noir#6482) feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481) chore(docs): Update How to Oracles (noir-lang/noir#5675) chore: Release Noir(0.38.0) (noir-lang/noir#6422) fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463) chore: update example to show how to split public inputs in bash (noir-lang/noir#6472) fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461) chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269) fix: let formatter respect newlines between comments (noir-lang/noir#6458) fix: check infix expression is valid in program input (noir-lang/noir#6450) fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454) fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455) fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452) chore: revamp attributes (noir-lang/noir#6424) feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) chore: split path and import lookups (noir-lang/noir#6430) fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448) fix: right shift is not a regular division (noir-lang/noir#6400)
noir-lang/noir#6514) fix: disallow `#[test]` on associated functions (noir-lang/noir#6449) chore(ssa): Skip array_set pass for Brillig functions (noir-lang/noir#6513) chore: Reverse ssa parser diff order (noir-lang/noir#6511) chore: Parse negatives in SSA parser (noir-lang/noir#6510) feat: avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509) fix(tests): Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508) fix: set local_module before elaborating each trait (noir-lang/noir#6506) fix: parse Slice type in SSa (noir-lang/noir#6507) fix: perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502) feat: SSA parser (noir-lang/noir#6489) chore(test): Run test matrix on test_programs (noir-lang/noir#6429) chore(ci): fix cargo deny (noir-lang/noir#6501) feat: Deduplicate instructions across blocks (noir-lang/noir#6499) chore: move tests for arithmetic generics closer to the code (noir-lang/noir#6497) fix(docs): Fix broken links in oracles doc (noir-lang/noir#6488) fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477) chore: bump rust dependencies (noir-lang/noir#6482) feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481) chore(docs): Update How to Oracles (noir-lang/noir#5675) chore: Release Noir(0.38.0) (noir-lang/noir#6422) fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463) chore: update example to show how to split public inputs in bash (noir-lang/noir#6472) fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461) chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269) fix: let formatter respect newlines between comments (noir-lang/noir#6458) fix: check infix expression is valid in program input (noir-lang/noir#6450) fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454) fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455) fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452) chore: revamp attributes (noir-lang/noir#6424) feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) chore: split path and import lookups (noir-lang/noir#6430) fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448) fix: right shift is not a regular division (noir-lang/noir#6400)
…g pass causing some values to be zeroed (noir-lang/noir#6434) fix: allow range checks to be performed within the comptime intepreter (noir-lang/noir#6514) fix: disallow `#[test]` on associated functions (noir-lang/noir#6449) chore(ssa): Skip array_set pass for Brillig functions (noir-lang/noir#6513) chore: Reverse ssa parser diff order (noir-lang/noir#6511) chore: Parse negatives in SSA parser (noir-lang/noir#6510) feat: avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509) fix(tests): Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508) fix: set local_module before elaborating each trait (noir-lang/noir#6506) fix: parse Slice type in SSa (noir-lang/noir#6507) fix: perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502) feat: SSA parser (noir-lang/noir#6489) chore(test): Run test matrix on test_programs (noir-lang/noir#6429) chore(ci): fix cargo deny (noir-lang/noir#6501) feat: Deduplicate instructions across blocks (noir-lang/noir#6499) chore: move tests for arithmetic generics closer to the code (noir-lang/noir#6497) fix(docs): Fix broken links in oracles doc (noir-lang/noir#6488) fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477) chore: bump rust dependencies (noir-lang/noir#6482) feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481) chore(docs): Update How to Oracles (noir-lang/noir#5675) chore: Release Noir(0.38.0) (noir-lang/noir#6422) fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463) chore: update example to show how to split public inputs in bash (noir-lang/noir#6472) fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461) chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269) fix: let formatter respect newlines between comments (noir-lang/noir#6458) fix: check infix expression is valid in program input (noir-lang/noir#6450) fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454) fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455) fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452) chore: revamp attributes (noir-lang/noir#6424) feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) chore: split path and import lookups (noir-lang/noir#6430) fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448) fix: right shift is not a regular division (noir-lang/noir#6400)
…ng some values to be zeroed (noir-lang/noir#6434) fix: allow range checks to be performed within the comptime intepreter (noir-lang/noir#6514) fix: disallow `#[test]` on associated functions (noir-lang/noir#6449) chore(ssa): Skip array_set pass for Brillig functions (noir-lang/noir#6513) chore: Reverse ssa parser diff order (noir-lang/noir#6511) chore: Parse negatives in SSA parser (noir-lang/noir#6510) feat: avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509) fix(tests): Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508) fix: set local_module before elaborating each trait (noir-lang/noir#6506) fix: parse Slice type in SSa (noir-lang/noir#6507) fix: perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502) feat: SSA parser (noir-lang/noir#6489) chore(test): Run test matrix on test_programs (noir-lang/noir#6429) chore(ci): fix cargo deny (noir-lang/noir#6501) feat: Deduplicate instructions across blocks (noir-lang/noir#6499) chore: move tests for arithmetic generics closer to the code (noir-lang/noir#6497) fix(docs): Fix broken links in oracles doc (noir-lang/noir#6488) fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477) chore: bump rust dependencies (noir-lang/noir#6482) feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481) chore(docs): Update How to Oracles (noir-lang/noir#5675) chore: Release Noir(0.38.0) (noir-lang/noir#6422) fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463) chore: update example to show how to split public inputs in bash (noir-lang/noir#6472) fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461) chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269) fix: let formatter respect newlines between comments (noir-lang/noir#6458) fix: check infix expression is valid in program input (noir-lang/noir#6450) fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454) fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455) fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452) chore: revamp attributes (noir-lang/noir#6424) feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) chore: split path and import lookups (noir-lang/noir#6430) fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448) fix: right shift is not a regular division (noir-lang/noir#6400)
…g pass causing some values to be zeroed (noir-lang/noir#6434) fix: allow range checks to be performed within the comptime intepreter (noir-lang/noir#6514) fix: disallow `#[test]` on associated functions (noir-lang/noir#6449) chore(ssa): Skip array_set pass for Brillig functions (noir-lang/noir#6513) chore: Reverse ssa parser diff order (noir-lang/noir#6511) chore: Parse negatives in SSA parser (noir-lang/noir#6510) feat: avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509) fix(tests): Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508) fix: set local_module before elaborating each trait (noir-lang/noir#6506) fix: parse Slice type in SSa (noir-lang/noir#6507) fix: perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502) feat: SSA parser (noir-lang/noir#6489) chore(test): Run test matrix on test_programs (noir-lang/noir#6429) chore(ci): fix cargo deny (noir-lang/noir#6501) feat: Deduplicate instructions across blocks (noir-lang/noir#6499) chore: move tests for arithmetic generics closer to the code (noir-lang/noir#6497) fix(docs): Fix broken links in oracles doc (noir-lang/noir#6488) fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477) chore: bump rust dependencies (noir-lang/noir#6482) feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481) chore(docs): Update How to Oracles (noir-lang/noir#5675) chore: Release Noir(0.38.0) (noir-lang/noir#6422) fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463) chore: update example to show how to split public inputs in bash (noir-lang/noir#6472) fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461) chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269) fix: let formatter respect newlines between comments (noir-lang/noir#6458) fix: check infix expression is valid in program input (noir-lang/noir#6450) fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454) fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455) fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452) chore: revamp attributes (noir-lang/noir#6424) feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) chore: split path and import lookups (noir-lang/noir#6430) fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448) fix: right shift is not a regular division (noir-lang/noir#6400)
…ng some values to be zeroed (noir-lang/noir#6434) fix: allow range checks to be performed within the comptime intepreter (noir-lang/noir#6514) fix: disallow `#[test]` on associated functions (noir-lang/noir#6449) chore(ssa): Skip array_set pass for Brillig functions (noir-lang/noir#6513) chore: Reverse ssa parser diff order (noir-lang/noir#6511) chore: Parse negatives in SSA parser (noir-lang/noir#6510) feat: avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509) fix(tests): Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508) fix: set local_module before elaborating each trait (noir-lang/noir#6506) fix: parse Slice type in SSa (noir-lang/noir#6507) fix: perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502) feat: SSA parser (noir-lang/noir#6489) chore(test): Run test matrix on test_programs (noir-lang/noir#6429) chore(ci): fix cargo deny (noir-lang/noir#6501) feat: Deduplicate instructions across blocks (noir-lang/noir#6499) chore: move tests for arithmetic generics closer to the code (noir-lang/noir#6497) fix(docs): Fix broken links in oracles doc (noir-lang/noir#6488) fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477) chore: bump rust dependencies (noir-lang/noir#6482) feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481) chore(docs): Update How to Oracles (noir-lang/noir#5675) chore: Release Noir(0.38.0) (noir-lang/noir#6422) fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463) chore: update example to show how to split public inputs in bash (noir-lang/noir#6472) fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461) chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269) fix: let formatter respect newlines between comments (noir-lang/noir#6458) fix: check infix expression is valid in program input (noir-lang/noir#6450) fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454) fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455) fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452) chore: revamp attributes (noir-lang/noir#6424) feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) chore: split path and import lookups (noir-lang/noir#6430) fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448) fix: right shift is not a regular division (noir-lang/noir#6400)
…g pass causing some values to be zeroed (noir-lang/noir#6434) fix: allow range checks to be performed within the comptime intepreter (noir-lang/noir#6514) fix: disallow `#[test]` on associated functions (noir-lang/noir#6449) chore(ssa): Skip array_set pass for Brillig functions (noir-lang/noir#6513) chore: Reverse ssa parser diff order (noir-lang/noir#6511) chore: Parse negatives in SSA parser (noir-lang/noir#6510) feat: avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509) fix(tests): Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508) fix: set local_module before elaborating each trait (noir-lang/noir#6506) fix: parse Slice type in SSa (noir-lang/noir#6507) fix: perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502) feat: SSA parser (noir-lang/noir#6489) chore(test): Run test matrix on test_programs (noir-lang/noir#6429) chore(ci): fix cargo deny (noir-lang/noir#6501) feat: Deduplicate instructions across blocks (noir-lang/noir#6499) chore: move tests for arithmetic generics closer to the code (noir-lang/noir#6497) fix(docs): Fix broken links in oracles doc (noir-lang/noir#6488) fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477) chore: bump rust dependencies (noir-lang/noir#6482) feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481) chore(docs): Update How to Oracles (noir-lang/noir#5675) chore: Release Noir(0.38.0) (noir-lang/noir#6422) fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463) chore: update example to show how to split public inputs in bash (noir-lang/noir#6472) fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461) chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269) fix: let formatter respect newlines between comments (noir-lang/noir#6458) fix: check infix expression is valid in program input (noir-lang/noir#6450) fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454) fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455) fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452) chore: revamp attributes (noir-lang/noir#6424) feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) chore: split path and import lookups (noir-lang/noir#6430) fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448) fix: right shift is not a regular division (noir-lang/noir#6400)
…ng some values to be zeroed (noir-lang/noir#6434) fix: allow range checks to be performed within the comptime intepreter (noir-lang/noir#6514) fix: disallow `#[test]` on associated functions (noir-lang/noir#6449) chore(ssa): Skip array_set pass for Brillig functions (noir-lang/noir#6513) chore: Reverse ssa parser diff order (noir-lang/noir#6511) chore: Parse negatives in SSA parser (noir-lang/noir#6510) feat: avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509) fix(tests): Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508) fix: set local_module before elaborating each trait (noir-lang/noir#6506) fix: parse Slice type in SSa (noir-lang/noir#6507) fix: perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502) feat: SSA parser (noir-lang/noir#6489) chore(test): Run test matrix on test_programs (noir-lang/noir#6429) chore(ci): fix cargo deny (noir-lang/noir#6501) feat: Deduplicate instructions across blocks (noir-lang/noir#6499) chore: move tests for arithmetic generics closer to the code (noir-lang/noir#6497) fix(docs): Fix broken links in oracles doc (noir-lang/noir#6488) fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477) chore: bump rust dependencies (noir-lang/noir#6482) feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481) chore(docs): Update How to Oracles (noir-lang/noir#5675) chore: Release Noir(0.38.0) (noir-lang/noir#6422) fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463) chore: update example to show how to split public inputs in bash (noir-lang/noir#6472) fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461) chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269) fix: let formatter respect newlines between comments (noir-lang/noir#6458) fix: check infix expression is valid in program input (noir-lang/noir#6450) fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454) fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455) fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452) chore: revamp attributes (noir-lang/noir#6424) feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) chore: split path and import lookups (noir-lang/noir#6430) fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448) fix: right shift is not a regular division (noir-lang/noir#6400)
…r#6534) fix: take blackbox function outputs into account when merging expressions (noir-lang/noir#6532) chore: Add `Instruction::MakeArray` to SSA (noir-lang/noir#6071) feat(profiler): Reduce memory in Brillig execution flamegraph (noir-lang/noir#6538) chore: convert some tests to use SSA parser (noir-lang/noir#6543) chore(ci): bump mac github runner image to `macos-14` (noir-lang/noir#6545) chore(test): More descriptive labels in test matrix (noir-lang/noir#6542) chore: Remove unused methods from implicit numeric generics (noir-lang/noir#6541) fix: Fix poor handling of aliased references in flattening pass causing some values to be zeroed (noir-lang/noir#6434) fix: allow range checks to be performed within the comptime intepreter (noir-lang/noir#6514) fix: disallow `#[test]` on associated functions (noir-lang/noir#6449) chore(ssa): Skip array_set pass for Brillig functions (noir-lang/noir#6513) chore: Reverse ssa parser diff order (noir-lang/noir#6511) chore: Parse negatives in SSA parser (noir-lang/noir#6510) feat: avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509) fix(tests): Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508) fix: set local_module before elaborating each trait (noir-lang/noir#6506) fix: parse Slice type in SSa (noir-lang/noir#6507) fix: perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502) feat: SSA parser (noir-lang/noir#6489) chore(test): Run test matrix on test_programs (noir-lang/noir#6429) chore(ci): fix cargo deny (noir-lang/noir#6501) feat: Deduplicate instructions across blocks (noir-lang/noir#6499) chore: move tests for arithmetic generics closer to the code (noir-lang/noir#6497) fix(docs): Fix broken links in oracles doc (noir-lang/noir#6488) fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477) chore: bump rust dependencies (noir-lang/noir#6482) feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481) chore(docs): Update How to Oracles (noir-lang/noir#5675) chore: Release Noir(0.38.0) (noir-lang/noir#6422) fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463) chore: update example to show how to split public inputs in bash (noir-lang/noir#6472) fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461) chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269) fix: let formatter respect newlines between comments (noir-lang/noir#6458) fix: check infix expression is valid in program input (noir-lang/noir#6450) fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454) fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455) fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452) chore: revamp attributes (noir-lang/noir#6424) feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) chore: split path and import lookups (noir-lang/noir#6430) fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448) fix: right shift is not a regular division (noir-lang/noir#6400)
…ir#6523) chore: restructure `noirc_evaluator` crate (noir-lang/noir#6534) fix: take blackbox function outputs into account when merging expressions (noir-lang/noir#6532) chore: Add `Instruction::MakeArray` to SSA (noir-lang/noir#6071) feat(profiler): Reduce memory in Brillig execution flamegraph (noir-lang/noir#6538) chore: convert some tests to use SSA parser (noir-lang/noir#6543) chore(ci): bump mac github runner image to `macos-14` (noir-lang/noir#6545) chore(test): More descriptive labels in test matrix (noir-lang/noir#6542) chore: Remove unused methods from implicit numeric generics (noir-lang/noir#6541) fix: Fix poor handling of aliased references in flattening pass causing some values to be zeroed (noir-lang/noir#6434) fix: allow range checks to be performed within the comptime intepreter (noir-lang/noir#6514) fix: disallow `#[test]` on associated functions (noir-lang/noir#6449) chore(ssa): Skip array_set pass for Brillig functions (noir-lang/noir#6513) chore: Reverse ssa parser diff order (noir-lang/noir#6511) chore: Parse negatives in SSA parser (noir-lang/noir#6510) feat: avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509) fix(tests): Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508) fix: set local_module before elaborating each trait (noir-lang/noir#6506) fix: parse Slice type in SSa (noir-lang/noir#6507) fix: perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502) feat: SSA parser (noir-lang/noir#6489) chore(test): Run test matrix on test_programs (noir-lang/noir#6429) chore(ci): fix cargo deny (noir-lang/noir#6501) feat: Deduplicate instructions across blocks (noir-lang/noir#6499) chore: move tests for arithmetic generics closer to the code (noir-lang/noir#6497) fix(docs): Fix broken links in oracles doc (noir-lang/noir#6488) fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477) chore: bump rust dependencies (noir-lang/noir#6482) feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481) chore(docs): Update How to Oracles (noir-lang/noir#5675) chore: Release Noir(0.38.0) (noir-lang/noir#6422) fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463) chore: update example to show how to split public inputs in bash (noir-lang/noir#6472) fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461) chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269) fix: let formatter respect newlines between comments (noir-lang/noir#6458) fix: check infix expression is valid in program input (noir-lang/noir#6450) fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454) fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455) fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452) chore: revamp attributes (noir-lang/noir#6424) feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) chore: split path and import lookups (noir-lang/noir#6430) fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448) fix: right shift is not a regular division (noir-lang/noir#6400)
chore: restructure `noirc_evaluator` crate (noir-lang/noir#6534) fix: take blackbox function outputs into account when merging expressions (noir-lang/noir#6532) chore: Add `Instruction::MakeArray` to SSA (noir-lang/noir#6071) feat(profiler): Reduce memory in Brillig execution flamegraph (noir-lang/noir#6538) chore: convert some tests to use SSA parser (noir-lang/noir#6543) chore(ci): bump mac github runner image to `macos-14` (noir-lang/noir#6545) chore(test): More descriptive labels in test matrix (noir-lang/noir#6542) chore: Remove unused methods from implicit numeric generics (noir-lang/noir#6541) fix: Fix poor handling of aliased references in flattening pass causing some values to be zeroed (noir-lang/noir#6434) fix: allow range checks to be performed within the comptime intepreter (noir-lang/noir#6514) fix: disallow `#[test]` on associated functions (noir-lang/noir#6449) chore(ssa): Skip array_set pass for Brillig functions (noir-lang/noir#6513) chore: Reverse ssa parser diff order (noir-lang/noir#6511) chore: Parse negatives in SSA parser (noir-lang/noir#6510) feat: avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509) fix(tests): Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508) fix: set local_module before elaborating each trait (noir-lang/noir#6506) fix: parse Slice type in SSa (noir-lang/noir#6507) fix: perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502) feat: SSA parser (noir-lang/noir#6489) chore(test): Run test matrix on test_programs (noir-lang/noir#6429) chore(ci): fix cargo deny (noir-lang/noir#6501) feat: Deduplicate instructions across blocks (noir-lang/noir#6499) chore: move tests for arithmetic generics closer to the code (noir-lang/noir#6497) fix(docs): Fix broken links in oracles doc (noir-lang/noir#6488) fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477) chore: bump rust dependencies (noir-lang/noir#6482) feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481) chore(docs): Update How to Oracles (noir-lang/noir#5675) chore: Release Noir(0.38.0) (noir-lang/noir#6422) fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463) chore: update example to show how to split public inputs in bash (noir-lang/noir#6472) fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461) chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269) fix: let formatter respect newlines between comments (noir-lang/noir#6458) fix: check infix expression is valid in program input (noir-lang/noir#6450) fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454) fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455) fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452) chore: revamp attributes (noir-lang/noir#6424) feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) chore: split path and import lookups (noir-lang/noir#6430) fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448) fix: right shift is not a regular division (noir-lang/noir#6400)
feat(ssa): Unroll small loops in brillig (noir-lang/noir#6505) fix: Do a shallow follow_bindings before unification (noir-lang/noir#6558) chore: remove some `_else_condition` tech debt (noir-lang/noir#6522) chore: revert #6375 (noir-lang/noir#6552) feat: simplify constant MSM calls in SSA (noir-lang/noir#6547) chore(test): Remove duplicate brillig tests (noir-lang/noir#6523) chore: restructure `noirc_evaluator` crate (noir-lang/noir#6534) fix: take blackbox function outputs into account when merging expressions (noir-lang/noir#6532) chore: Add `Instruction::MakeArray` to SSA (noir-lang/noir#6071) feat(profiler): Reduce memory in Brillig execution flamegraph (noir-lang/noir#6538) chore: convert some tests to use SSA parser (noir-lang/noir#6543) chore(ci): bump mac github runner image to `macos-14` (noir-lang/noir#6545) chore(test): More descriptive labels in test matrix (noir-lang/noir#6542) chore: Remove unused methods from implicit numeric generics (noir-lang/noir#6541) fix: Fix poor handling of aliased references in flattening pass causing some values to be zeroed (noir-lang/noir#6434) fix: allow range checks to be performed within the comptime intepreter (noir-lang/noir#6514) fix: disallow `#[test]` on associated functions (noir-lang/noir#6449) chore(ssa): Skip array_set pass for Brillig functions (noir-lang/noir#6513) chore: Reverse ssa parser diff order (noir-lang/noir#6511) chore: Parse negatives in SSA parser (noir-lang/noir#6510) feat: avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509) fix(tests): Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508) fix: set local_module before elaborating each trait (noir-lang/noir#6506) fix: parse Slice type in SSa (noir-lang/noir#6507) fix: perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502) feat: SSA parser (noir-lang/noir#6489) chore(test): Run test matrix on test_programs (noir-lang/noir#6429) chore(ci): fix cargo deny (noir-lang/noir#6501) feat: Deduplicate instructions across blocks (noir-lang/noir#6499) chore: move tests for arithmetic generics closer to the code (noir-lang/noir#6497) fix(docs): Fix broken links in oracles doc (noir-lang/noir#6488) fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477) chore: bump rust dependencies (noir-lang/noir#6482) feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481) chore(docs): Update How to Oracles (noir-lang/noir#5675) chore: Release Noir(0.38.0) (noir-lang/noir#6422) fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463) chore: update example to show how to split public inputs in bash (noir-lang/noir#6472) fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461) chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269) fix: let formatter respect newlines between comments (noir-lang/noir#6458) fix: check infix expression is valid in program input (noir-lang/noir#6450) fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454) fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455) fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452) chore: revamp attributes (noir-lang/noir#6424) feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) chore: split path and import lookups (noir-lang/noir#6430) fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448) fix: right shift is not a regular division (noir-lang/noir#6400)
chore: switch to 1.0.0-beta versioning (noir-lang/noir#6503) chore: Release Noir(0.39.0) (noir-lang/noir#6484) feat: Sync from aztec-packages (noir-lang/noir#6557) feat(ssa): Unroll small loops in brillig (noir-lang/noir#6505) fix: Do a shallow follow_bindings before unification (noir-lang/noir#6558) chore: remove some `_else_condition` tech debt (noir-lang/noir#6522) chore: revert #6375 (noir-lang/noir#6552) feat: simplify constant MSM calls in SSA (noir-lang/noir#6547) chore(test): Remove duplicate brillig tests (noir-lang/noir#6523) chore: restructure `noirc_evaluator` crate (noir-lang/noir#6534) fix: take blackbox function outputs into account when merging expressions (noir-lang/noir#6532) chore: Add `Instruction::MakeArray` to SSA (noir-lang/noir#6071) feat(profiler): Reduce memory in Brillig execution flamegraph (noir-lang/noir#6538) chore: convert some tests to use SSA parser (noir-lang/noir#6543) chore(ci): bump mac github runner image to `macos-14` (noir-lang/noir#6545) chore(test): More descriptive labels in test matrix (noir-lang/noir#6542) chore: Remove unused methods from implicit numeric generics (noir-lang/noir#6541) fix: Fix poor handling of aliased references in flattening pass causing some values to be zeroed (noir-lang/noir#6434) fix: allow range checks to be performed within the comptime intepreter (noir-lang/noir#6514) fix: disallow `#[test]` on associated functions (noir-lang/noir#6449) chore(ssa): Skip array_set pass for Brillig functions (noir-lang/noir#6513) chore: Reverse ssa parser diff order (noir-lang/noir#6511) chore: Parse negatives in SSA parser (noir-lang/noir#6510) feat: avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509) fix(tests): Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508) fix: set local_module before elaborating each trait (noir-lang/noir#6506) fix: parse Slice type in SSa (noir-lang/noir#6507) fix: perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502) feat: SSA parser (noir-lang/noir#6489) chore(test): Run test matrix on test_programs (noir-lang/noir#6429) chore(ci): fix cargo deny (noir-lang/noir#6501) feat: Deduplicate instructions across blocks (noir-lang/noir#6499) chore: move tests for arithmetic generics closer to the code (noir-lang/noir#6497) fix(docs): Fix broken links in oracles doc (noir-lang/noir#6488) fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477) chore: bump rust dependencies (noir-lang/noir#6482) feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481) chore(docs): Update How to Oracles (noir-lang/noir#5675) chore: Release Noir(0.38.0) (noir-lang/noir#6422) fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463) chore: update example to show how to split public inputs in bash (noir-lang/noir#6472) fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461) chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269) fix: let formatter respect newlines between comments (noir-lang/noir#6458) fix: check infix expression is valid in program input (noir-lang/noir#6450) fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454) fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455) fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452) chore: revamp attributes (noir-lang/noir#6424) feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) chore: split path and import lookups (noir-lang/noir#6430) fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448) fix: right shift is not a regular division (noir-lang/noir#6400)
chore: switch to 1.0.0-beta versioning (noir-lang/noir#6503) chore: Release Noir(0.39.0) (noir-lang/noir#6484) feat: Sync from aztec-packages (noir-lang/noir#6557) feat(ssa): Unroll small loops in brillig (noir-lang/noir#6505) fix: Do a shallow follow_bindings before unification (noir-lang/noir#6558) chore: remove some `_else_condition` tech debt (noir-lang/noir#6522) chore: revert #6375 (noir-lang/noir#6552) feat: simplify constant MSM calls in SSA (noir-lang/noir#6547) chore(test): Remove duplicate brillig tests (noir-lang/noir#6523) chore: restructure `noirc_evaluator` crate (noir-lang/noir#6534) fix: take blackbox function outputs into account when merging expressions (noir-lang/noir#6532) chore: Add `Instruction::MakeArray` to SSA (noir-lang/noir#6071) feat(profiler): Reduce memory in Brillig execution flamegraph (noir-lang/noir#6538) chore: convert some tests to use SSA parser (noir-lang/noir#6543) chore(ci): bump mac github runner image to `macos-14` (noir-lang/noir#6545) chore(test): More descriptive labels in test matrix (noir-lang/noir#6542) chore: Remove unused methods from implicit numeric generics (noir-lang/noir#6541) fix: Fix poor handling of aliased references in flattening pass causing some values to be zeroed (noir-lang/noir#6434) fix: allow range checks to be performed within the comptime intepreter (noir-lang/noir#6514) fix: disallow `#[test]` on associated functions (noir-lang/noir#6449) chore(ssa): Skip array_set pass for Brillig functions (noir-lang/noir#6513) chore: Reverse ssa parser diff order (noir-lang/noir#6511) chore: Parse negatives in SSA parser (noir-lang/noir#6510) feat: avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509) fix(tests): Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508) fix: set local_module before elaborating each trait (noir-lang/noir#6506) fix: parse Slice type in SSa (noir-lang/noir#6507) fix: perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502) feat: SSA parser (noir-lang/noir#6489) chore(test): Run test matrix on test_programs (noir-lang/noir#6429) chore(ci): fix cargo deny (noir-lang/noir#6501) feat: Deduplicate instructions across blocks (noir-lang/noir#6499) chore: move tests for arithmetic generics closer to the code (noir-lang/noir#6497) fix(docs): Fix broken links in oracles doc (noir-lang/noir#6488) fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477) chore: bump rust dependencies (noir-lang/noir#6482) feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481) chore(docs): Update How to Oracles (noir-lang/noir#5675) chore: Release Noir(0.38.0) (noir-lang/noir#6422) fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463) chore: update example to show how to split public inputs in bash (noir-lang/noir#6472) fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461) chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269) fix: let formatter respect newlines between comments (noir-lang/noir#6458) fix: check infix expression is valid in program input (noir-lang/noir#6450) fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454) fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455) fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452) chore: revamp attributes (noir-lang/noir#6424) feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) chore: split path and import lookups (noir-lang/noir#6430) fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448) fix: right shift is not a regular division (noir-lang/noir#6400)
chore: remove separate acvm versioning (noir-lang/noir#6561) chore: switch to 1.0.0-beta versioning (noir-lang/noir#6503) chore: Release Noir(0.39.0) (noir-lang/noir#6484) feat: Sync from aztec-packages (noir-lang/noir#6557) feat(ssa): Unroll small loops in brillig (noir-lang/noir#6505) fix: Do a shallow follow_bindings before unification (noir-lang/noir#6558) chore: remove some `_else_condition` tech debt (noir-lang/noir#6522) chore: revert #6375 (noir-lang/noir#6552) feat: simplify constant MSM calls in SSA (noir-lang/noir#6547) chore(test): Remove duplicate brillig tests (noir-lang/noir#6523) chore: restructure `noirc_evaluator` crate (noir-lang/noir#6534) fix: take blackbox function outputs into account when merging expressions (noir-lang/noir#6532) chore: Add `Instruction::MakeArray` to SSA (noir-lang/noir#6071) feat(profiler): Reduce memory in Brillig execution flamegraph (noir-lang/noir#6538) chore: convert some tests to use SSA parser (noir-lang/noir#6543) chore(ci): bump mac github runner image to `macos-14` (noir-lang/noir#6545) chore(test): More descriptive labels in test matrix (noir-lang/noir#6542) chore: Remove unused methods from implicit numeric generics (noir-lang/noir#6541) fix: Fix poor handling of aliased references in flattening pass causing some values to be zeroed (noir-lang/noir#6434) fix: allow range checks to be performed within the comptime intepreter (noir-lang/noir#6514) fix: disallow `#[test]` on associated functions (noir-lang/noir#6449) chore(ssa): Skip array_set pass for Brillig functions (noir-lang/noir#6513) chore: Reverse ssa parser diff order (noir-lang/noir#6511) chore: Parse negatives in SSA parser (noir-lang/noir#6510) feat: avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509) fix(tests): Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508) fix: set local_module before elaborating each trait (noir-lang/noir#6506) fix: parse Slice type in SSa (noir-lang/noir#6507) fix: perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502) feat: SSA parser (noir-lang/noir#6489) chore(test): Run test matrix on test_programs (noir-lang/noir#6429) chore(ci): fix cargo deny (noir-lang/noir#6501) feat: Deduplicate instructions across blocks (noir-lang/noir#6499) chore: move tests for arithmetic generics closer to the code (noir-lang/noir#6497) fix(docs): Fix broken links in oracles doc (noir-lang/noir#6488) fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477) chore: bump rust dependencies (noir-lang/noir#6482) feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481) chore(docs): Update How to Oracles (noir-lang/noir#5675) chore: Release Noir(0.38.0) (noir-lang/noir#6422) fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463) chore: update example to show how to split public inputs in bash (noir-lang/noir#6472) fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461) chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269) fix: let formatter respect newlines between comments (noir-lang/noir#6458) fix: check infix expression is valid in program input (noir-lang/noir#6450) fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454) fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455) fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452) chore: revamp attributes (noir-lang/noir#6424) feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) chore: split path and import lookups (noir-lang/noir#6430) fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448) fix: right shift is not a regular division (noir-lang/noir#6400)
chore: remove separate acvm versioning (noir-lang/noir#6561) chore: switch to 1.0.0-beta versioning (noir-lang/noir#6503) chore: Release Noir(0.39.0) (noir-lang/noir#6484) feat: Sync from aztec-packages (noir-lang/noir#6557) feat(ssa): Unroll small loops in brillig (noir-lang/noir#6505) fix: Do a shallow follow_bindings before unification (noir-lang/noir#6558) chore: remove some `_else_condition` tech debt (noir-lang/noir#6522) chore: revert #6375 (noir-lang/noir#6552) feat: simplify constant MSM calls in SSA (noir-lang/noir#6547) chore(test): Remove duplicate brillig tests (noir-lang/noir#6523) chore: restructure `noirc_evaluator` crate (noir-lang/noir#6534) fix: take blackbox function outputs into account when merging expressions (noir-lang/noir#6532) chore: Add `Instruction::MakeArray` to SSA (noir-lang/noir#6071) feat(profiler): Reduce memory in Brillig execution flamegraph (noir-lang/noir#6538) chore: convert some tests to use SSA parser (noir-lang/noir#6543) chore(ci): bump mac github runner image to `macos-14` (noir-lang/noir#6545) chore(test): More descriptive labels in test matrix (noir-lang/noir#6542) chore: Remove unused methods from implicit numeric generics (noir-lang/noir#6541) fix: Fix poor handling of aliased references in flattening pass causing some values to be zeroed (noir-lang/noir#6434) fix: allow range checks to be performed within the comptime intepreter (noir-lang/noir#6514) fix: disallow `#[test]` on associated functions (noir-lang/noir#6449) chore(ssa): Skip array_set pass for Brillig functions (noir-lang/noir#6513) chore: Reverse ssa parser diff order (noir-lang/noir#6511) chore: Parse negatives in SSA parser (noir-lang/noir#6510) feat: avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509) fix(tests): Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508) fix: set local_module before elaborating each trait (noir-lang/noir#6506) fix: parse Slice type in SSa (noir-lang/noir#6507) fix: perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502) feat: SSA parser (noir-lang/noir#6489) chore(test): Run test matrix on test_programs (noir-lang/noir#6429) chore(ci): fix cargo deny (noir-lang/noir#6501) feat: Deduplicate instructions across blocks (noir-lang/noir#6499) chore: move tests for arithmetic generics closer to the code (noir-lang/noir#6497) fix(docs): Fix broken links in oracles doc (noir-lang/noir#6488) fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477) chore: bump rust dependencies (noir-lang/noir#6482) feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481) chore(docs): Update How to Oracles (noir-lang/noir#5675) chore: Release Noir(0.38.0) (noir-lang/noir#6422) fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463) chore: update example to show how to split public inputs in bash (noir-lang/noir#6472) fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461) chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269) fix: let formatter respect newlines between comments (noir-lang/noir#6458) fix: check infix expression is valid in program input (noir-lang/noir#6450) fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454) fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455) fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452) chore: revamp attributes (noir-lang/noir#6424) feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) chore: split path and import lookups (noir-lang/noir#6430) fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448) fix: right shift is not a regular division (noir-lang/noir#6400)
chore: Added test showcasing performance regression (noir-lang/noir#6566) chore: embed package name in logs (noir-lang/noir#6564) chore: remove separate acvm versioning (noir-lang/noir#6561) chore: switch to 1.0.0-beta versioning (noir-lang/noir#6503) chore: Release Noir(0.39.0) (noir-lang/noir#6484) feat: Sync from aztec-packages (noir-lang/noir#6557) feat(ssa): Unroll small loops in brillig (noir-lang/noir#6505) fix: Do a shallow follow_bindings before unification (noir-lang/noir#6558) chore: remove some `_else_condition` tech debt (noir-lang/noir#6522) chore: revert #6375 (noir-lang/noir#6552) feat: simplify constant MSM calls in SSA (noir-lang/noir#6547) chore(test): Remove duplicate brillig tests (noir-lang/noir#6523) chore: restructure `noirc_evaluator` crate (noir-lang/noir#6534) fix: take blackbox function outputs into account when merging expressions (noir-lang/noir#6532) chore: Add `Instruction::MakeArray` to SSA (noir-lang/noir#6071) feat(profiler): Reduce memory in Brillig execution flamegraph (noir-lang/noir#6538) chore: convert some tests to use SSA parser (noir-lang/noir#6543) chore(ci): bump mac github runner image to `macos-14` (noir-lang/noir#6545) chore(test): More descriptive labels in test matrix (noir-lang/noir#6542) chore: Remove unused methods from implicit numeric generics (noir-lang/noir#6541) fix: Fix poor handling of aliased references in flattening pass causing some values to be zeroed (noir-lang/noir#6434) fix: allow range checks to be performed within the comptime intepreter (noir-lang/noir#6514) fix: disallow `#[test]` on associated functions (noir-lang/noir#6449) chore(ssa): Skip array_set pass for Brillig functions (noir-lang/noir#6513) chore: Reverse ssa parser diff order (noir-lang/noir#6511) chore: Parse negatives in SSA parser (noir-lang/noir#6510) feat: avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509) fix(tests): Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508) fix: set local_module before elaborating each trait (noir-lang/noir#6506) fix: parse Slice type in SSa (noir-lang/noir#6507) fix: perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502) feat: SSA parser (noir-lang/noir#6489) chore(test): Run test matrix on test_programs (noir-lang/noir#6429) chore(ci): fix cargo deny (noir-lang/noir#6501) feat: Deduplicate instructions across blocks (noir-lang/noir#6499) chore: move tests for arithmetic generics closer to the code (noir-lang/noir#6497) fix(docs): Fix broken links in oracles doc (noir-lang/noir#6488) fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477) chore: bump rust dependencies (noir-lang/noir#6482) feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481) chore(docs): Update How to Oracles (noir-lang/noir#5675) chore: Release Noir(0.38.0) (noir-lang/noir#6422) fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463) chore: update example to show how to split public inputs in bash (noir-lang/noir#6472) fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461) chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269) fix: let formatter respect newlines between comments (noir-lang/noir#6458) fix: check infix expression is valid in program input (noir-lang/noir#6450) fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454) fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455) fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452) chore: revamp attributes (noir-lang/noir#6424) feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) chore: split path and import lookups (noir-lang/noir#6430) fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448) fix: right shift is not a regular division (noir-lang/noir#6400)
chore: Added test showcasing performance regression (noir-lang/noir#6566) chore: embed package name in logs (noir-lang/noir#6564) chore: remove separate acvm versioning (noir-lang/noir#6561) chore: switch to 1.0.0-beta versioning (noir-lang/noir#6503) chore: Release Noir(0.39.0) (noir-lang/noir#6484) feat: Sync from aztec-packages (noir-lang/noir#6557) feat(ssa): Unroll small loops in brillig (noir-lang/noir#6505) fix: Do a shallow follow_bindings before unification (noir-lang/noir#6558) chore: remove some `_else_condition` tech debt (noir-lang/noir#6522) chore: revert #6375 (noir-lang/noir#6552) feat: simplify constant MSM calls in SSA (noir-lang/noir#6547) chore(test): Remove duplicate brillig tests (noir-lang/noir#6523) chore: restructure `noirc_evaluator` crate (noir-lang/noir#6534) fix: take blackbox function outputs into account when merging expressions (noir-lang/noir#6532) chore: Add `Instruction::MakeArray` to SSA (noir-lang/noir#6071) feat(profiler): Reduce memory in Brillig execution flamegraph (noir-lang/noir#6538) chore: convert some tests to use SSA parser (noir-lang/noir#6543) chore(ci): bump mac github runner image to `macos-14` (noir-lang/noir#6545) chore(test): More descriptive labels in test matrix (noir-lang/noir#6542) chore: Remove unused methods from implicit numeric generics (noir-lang/noir#6541) fix: Fix poor handling of aliased references in flattening pass causing some values to be zeroed (noir-lang/noir#6434) fix: allow range checks to be performed within the comptime intepreter (noir-lang/noir#6514) fix: disallow `#[test]` on associated functions (noir-lang/noir#6449) chore(ssa): Skip array_set pass for Brillig functions (noir-lang/noir#6513) chore: Reverse ssa parser diff order (noir-lang/noir#6511) chore: Parse negatives in SSA parser (noir-lang/noir#6510) feat: avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509) fix(tests): Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508) fix: set local_module before elaborating each trait (noir-lang/noir#6506) fix: parse Slice type in SSa (noir-lang/noir#6507) fix: perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502) feat: SSA parser (noir-lang/noir#6489) chore(test): Run test matrix on test_programs (noir-lang/noir#6429) chore(ci): fix cargo deny (noir-lang/noir#6501) feat: Deduplicate instructions across blocks (noir-lang/noir#6499) chore: move tests for arithmetic generics closer to the code (noir-lang/noir#6497) fix(docs): Fix broken links in oracles doc (noir-lang/noir#6488) fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477) chore: bump rust dependencies (noir-lang/noir#6482) feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481) chore(docs): Update How to Oracles (noir-lang/noir#5675) chore: Release Noir(0.38.0) (noir-lang/noir#6422) fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463) chore: update example to show how to split public inputs in bash (noir-lang/noir#6472) fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461) chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269) fix: let formatter respect newlines between comments (noir-lang/noir#6458) fix: check infix expression is valid in program input (noir-lang/noir#6450) fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454) fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455) fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452) chore: revamp attributes (noir-lang/noir#6424) feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) chore: split path and import lookups (noir-lang/noir#6430) fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448) fix: right shift is not a regular division (noir-lang/noir#6400)
Automated pull of development from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE feat: trait aliases (noir-lang/noir#6431) chore: Added test showcasing performance regression (noir-lang/noir#6566) chore: embed package name in logs (noir-lang/noir#6564) chore: remove separate acvm versioning (noir-lang/noir#6561) chore: switch to 1.0.0-beta versioning (noir-lang/noir#6503) chore: Release Noir(0.39.0) (noir-lang/noir#6484) feat: Sync from aztec-packages (noir-lang/noir#6557) feat(ssa): Unroll small loops in brillig (noir-lang/noir#6505) fix: Do a shallow follow_bindings before unification (noir-lang/noir#6558) chore: remove some `_else_condition` tech debt (noir-lang/noir#6522) chore: revert #6375 (noir-lang/noir#6552) feat: simplify constant MSM calls in SSA (noir-lang/noir#6547) chore(test): Remove duplicate brillig tests (noir-lang/noir#6523) chore: restructure `noirc_evaluator` crate (noir-lang/noir#6534) fix: take blackbox function outputs into account when merging expressions (noir-lang/noir#6532) chore: Add `Instruction::MakeArray` to SSA (noir-lang/noir#6071) feat(profiler): Reduce memory in Brillig execution flamegraph (noir-lang/noir#6538) chore: convert some tests to use SSA parser (noir-lang/noir#6543) chore(ci): bump mac github runner image to `macos-14` (noir-lang/noir#6545) chore(test): More descriptive labels in test matrix (noir-lang/noir#6542) chore: Remove unused methods from implicit numeric generics (noir-lang/noir#6541) fix: Fix poor handling of aliased references in flattening pass causing some values to be zeroed (noir-lang/noir#6434) fix: allow range checks to be performed within the comptime intepreter (noir-lang/noir#6514) fix: disallow `#[test]` on associated functions (noir-lang/noir#6449) chore(ssa): Skip array_set pass for Brillig functions (noir-lang/noir#6513) chore: Reverse ssa parser diff order (noir-lang/noir#6511) chore: Parse negatives in SSA parser (noir-lang/noir#6510) feat: avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509) fix(tests): Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508) fix: set local_module before elaborating each trait (noir-lang/noir#6506) fix: parse Slice type in SSa (noir-lang/noir#6507) fix: perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502) feat: SSA parser (noir-lang/noir#6489) chore(test): Run test matrix on test_programs (noir-lang/noir#6429) chore(ci): fix cargo deny (noir-lang/noir#6501) feat: Deduplicate instructions across blocks (noir-lang/noir#6499) chore: move tests for arithmetic generics closer to the code (noir-lang/noir#6497) fix(docs): Fix broken links in oracles doc (noir-lang/noir#6488) fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477) chore: bump rust dependencies (noir-lang/noir#6482) feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481) chore(docs): Update How to Oracles (noir-lang/noir#5675) chore: Release Noir(0.38.0) (noir-lang/noir#6422) fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463) chore: update example to show how to split public inputs in bash (noir-lang/noir#6472) fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461) chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269) fix: let formatter respect newlines between comments (noir-lang/noir#6458) fix: check infix expression is valid in program input (noir-lang/noir#6450) fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454) fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455) fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452) chore: revamp attributes (noir-lang/noir#6424) feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) chore: split path and import lookups (noir-lang/noir#6430) fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448) fix: right shift is not a regular division (noir-lang/noir#6400) END_COMMIT_OVERRIDE --------- Co-authored-by: sirasistant <[email protected]> Co-authored-by: Tom French <[email protected]> Co-authored-by: TomAFrench <[email protected]>
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.64.0</summary> ## [0.64.0](aztec-package-v0.63.1...aztec-package-v0.64.0) (2024-11-25) ### Features * Unify anvil versions ([#10143](#10143)) ([adae143](adae143)) ### Miscellaneous * Fast epoch building test ([#10045](#10045)) ([fb791a2](fb791a2)), closes [#9809](#9809) </details> <details><summary>barretenberg.js: 0.64.0</summary> ## [0.64.0](barretenberg.js-v0.63.1...barretenberg.js-v0.64.0) (2024-11-25) ### Features * Single commitment key allocation in CIVC ([#9974](#9974)) ([a0551ee](a0551ee)) ### Bug Fixes * Strip wasm debug ([#9987](#9987)) ([62a6b66](62a6b66)) ### Documentation * Add docs to enable multi-threading in bb.js ([#10064](#10064)) ([8b4ebd1](8b4ebd1)) </details> <details><summary>aztec-packages: 0.64.0</summary> ## [0.64.0](aztec-packages-v0.63.1...aztec-packages-v0.64.0) (2024-11-25) ### ⚠ BREAKING CHANGES * rename SharedMutable methods ([#10165](#10165)) * add AztecAddress.isValid and make random be valid ([#10081](#10081)) * Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) ### Features * Add AztecAddress.isValid and make random be valid ([#10081](#10081)) ([fbdf6b0](fbdf6b0)) * Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) ([b8bace9](b8bace9)) * **avm:** Error handling for address resolution ([#9994](#9994)) ([ceaeda5](ceaeda5)), closes [#9131](#9131) * **avm:** Integrate ephemeral trees ([#9917](#9917)) ([fbe1128](fbe1128)) * **avm:** More efficient low leaf search ([#9870](#9870)) ([f7bbd83](f7bbd83)) * Avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509) ([b8bace9](b8bace9)) * Bb-prover AVM test crafts a test TX & properly plumbs AvmCircuitPublicInputs to witgen ([#10083](#10083)) ([55564aa](55564aa)) * Calls to non-existent contracts in the AVM simulator return failure ([#10051](#10051)) ([133384c](133384c)) * Compute base-fee on l1 ([#9986](#9986)) ([4ab46fe](4ab46fe)) * Deduplicate instructions across blocks (noir-lang/noir#6499) ([b8bace9](b8bace9)) * E2e metrics reporting ([#9776](#9776)) ([9cab121](9cab121)) * Gating test ([#9918](#9918)) ([c6b65ab](c6b65ab)), closes [#9883](#9883) * Google Kubernetes Engine - Prover Agent Spot Node Support ([#10031](#10031)) ([4d6da9b](4d6da9b)) * Improve trace utilization tracking ([#10008](#10008)) ([4c560ab](4c560ab)) * Improved data storage metrics ([#10020](#10020)) ([c6ab0c9](c6ab0c9)) * Initial gas oracle ([#9952](#9952)) ([e740d42](e740d42)) * Insert public data tree leaves one by one ([#9989](#9989)) ([a2c0701](a2c0701)) * Integrate base fee computation into rollup ([#10076](#10076)) ([3417b22](3417b22)) * IPA accumulators setup for Rollup ([#10040](#10040)) ([4129e27](4129e27)) * New proving agent ([#9999](#9999)) ([9ad24dd](9ad24dd)) * **profiler:** Reduce memory in Brillig execution flamegraph (noir-lang/noir#6538) ([b8bace9](b8bace9)) * Public network deployments ([#10089](#10089)) ([570f70a](570f70a)) * PXE handles reorgs ([#9913](#9913)) ([aafef9c](aafef9c)) * Rename SharedMutable methods ([#10165](#10165)) ([4fd70e8](4fd70e8)) * Reset pxe indexes ([#10093](#10093)) ([3848c01](3848c01)) * Simplify constant MSM calls in SSA (noir-lang/noir#6547) ([b8bace9](b8bace9)) * Single commitment key allocation in CIVC ([#9974](#9974)) ([a0551ee](a0551ee)) * SSA parser (noir-lang/noir#6489) ([b8bace9](b8bace9)) * **ssa:** Unroll small loops in brillig (noir-lang/noir#6505) ([b8bace9](b8bace9)) * Sync from aztec-packages (noir-lang/noir#6557) ([b8bace9](b8bace9)) * Sync tags as sender ([#10071](#10071)) ([122d2e4](122d2e4)) * Terraform for release deployments ([#10091](#10091)) ([dc528da](dc528da)), closes [#10144](#10144) * Trait aliases (noir-lang/noir#6431) ([b8bace9](b8bace9)) * Unify anvil versions ([#10143](#10143)) ([adae143](adae143)) * Updating consensus payload ([#10017](#10017)) ([85c8a3b](85c8a3b)) * Use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481) ([b8bace9](b8bace9)) * **val:** Reex ([#9768](#9768)) ([2e58f0a](2e58f0a)) ### Bug Fixes * Add curl to aztec nargo container ([#10173](#10173)) ([2add6ae](2add6ae)) * Add zod parsing for generated contract artifacts ([#9905](#9905)) ([e1ef998](e1ef998)) * Allow range checks to be performed within the comptime intepreter (noir-lang/noir#6514) ([b8bace9](b8bace9)) * Allow unwinding multiple empty blocks ([#10084](#10084)) ([ec34442](ec34442)) * Boxes ([#10122](#10122)) ([10df7c5](10df7c5)) * Check infix expression is valid in program input (noir-lang/noir#6450) ([b8bace9](b8bace9)) * Disallow `#[test]` on associated functions (noir-lang/noir#6449) ([b8bace9](b8bace9)) * Disallow contract registration in pxe of contract with duplicate private function selectors ([#9773](#9773)) ([2587ad5](2587ad5)) * Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461) ([b8bace9](b8bace9)) * Do a shallow follow_bindings before unification (noir-lang/noir#6558) ([b8bace9](b8bace9)) * **docs:** Fix broken links in oracles doc (noir-lang/noir#6488) ([b8bace9](b8bace9)) * Don't crash on AsTraitPath with empty path (noir-lang/noir#6454) ([b8bace9](b8bace9)) * Fix poor handling of aliased references in flattening pass causing some values to be zeroed (noir-lang/noir#6434) ([b8bace9](b8bace9)) * Let formatter respect newlines between comments (noir-lang/noir#6458) ([b8bace9](b8bace9)) * Make bytecode part of artifact hash preimage again ([#9771](#9771)) ([cdabd85](cdabd85)) * Parse Slice type in SSa (noir-lang/noir#6507) ([b8bace9](b8bace9)) * Perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502) ([b8bace9](b8bace9)) * Potential e2e-p2p fix ([#10094](#10094)) ([820bcc6](820bcc6)) * Prover-agent.yaml syntax ([#10131](#10131)) ([a238fe6](a238fe6)) * Remove src build from doc build flow ([#10127](#10127)) ([fbfe1b1](fbfe1b1)) * Revert "feat: integrate base fee computation into rollup" ([#10166](#10166)) ([1a207f5](1a207f5)) * Right shift is not a regular division (noir-lang/noir#6400) ([b8bace9](b8bace9)) * **sea:** Mem2reg to treat block input references as alias (noir-lang/noir#6452) ([b8bace9](b8bace9)) * Set local_module before elaborating each trait (noir-lang/noir#6506) ([b8bace9](b8bace9)) * Sorting artifact props and members in metadata ([#9772](#9772)) ([aba568a](aba568a)) * **ssa:** Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463) ([b8bace9](b8bace9)) * **ssa:** Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448) ([b8bace9](b8bace9)) * Strip wasm debug ([#9987](#9987)) ([62a6b66](62a6b66)) * Take blackbox function outputs into account when merging expressions (noir-lang/noir#6532) ([b8bace9](b8bace9)) * **tests:** Prevent EOF error while running test programs (noir-lang/noir#6455) ([b8bace9](b8bace9)) * **tests:** Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508) ([b8bace9](b8bace9)) * Treat all parameters as possible aliases of each other (noir-lang/noir#6477) ([b8bace9](b8bace9)) * Zero index is not always 0 ([#10135](#10135)) ([bbac3d9](bbac3d9)) ### Miscellaneous * Add `Instruction::MakeArray` to SSA (noir-lang/noir#6071) ([b8bace9](b8bace9)) * Added test showcasing performance regression (noir-lang/noir#6566) ([b8bace9](b8bace9)) * **avm:** Remove initialization for non-derived polynomials ([#10103](#10103)) ([c6fdf4b](c6fdf4b)), closes [#10096](#10096) * Bump rust dependencies (noir-lang/noir#6482) ([b8bace9](b8bace9)) * **ci:** Bump mac github runner image to `macos-14` (noir-lang/noir#6545) ([b8bace9](b8bace9)) * **ci:** Fix cargo deny (noir-lang/noir#6501) ([b8bace9](b8bace9)) * Convert some tests to use SSA parser (noir-lang/noir#6543) ([b8bace9](b8bace9)) * Delete stray todos ([#10112](#10112)) ([cc4139a](cc4139a)) * Do not run e2e-2-pxes along with e2e pxe test ([#10155](#10155)) ([f0f8d22](f0f8d22)) * **docs:** Update How to Oracles (noir-lang/noir#5675) ([b8bace9](b8bace9)) * Embed package name in logs (noir-lang/noir#6564) ([b8bace9](b8bace9)) * Fast epoch building test ([#10045](#10045)) ([fb791a2](fb791a2)), closes [#9809](#9809) * Fix pool metrics ([#9652](#9652)) ([233b387](233b387)) * Fix spartan deploy script ([#10078](#10078)) ([368ac8b](368ac8b)) * Initial draft of testnet-runbook ([#10085](#10085)) ([598c1b1](598c1b1)) * Lower throughput of ebs disks ([#9997](#9997)) ([698cd3d](698cd3d)) * Make tests not silent if DEBUG set ([#10130](#10130)) ([95e8406](95e8406)) * Move tests for arithmetic generics closer to the code (noir-lang/noir#6497) ([b8bace9](b8bace9)) * Optimise polynomial initialisation ([#10073](#10073)) ([e608742](e608742)) * Parse negatives in SSA parser (noir-lang/noir#6510) ([b8bace9](b8bace9)) * Proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269) ([b8bace9](b8bace9)) * Pull across noir-lang/noir[#6558](#6558) ([#10037](#10037)) ([3014a69](3014a69)) * Pull out sync changes ([#10072](#10072)) ([06ef61e](06ef61e)) * Release Noir(0.38.0) (noir-lang/noir#6422) ([b8bace9](b8bace9)) * Release Noir(0.39.0) (noir-lang/noir#6484) ([b8bace9](b8bace9)) * Remove handling of duplicates from the note hash tree ([#10016](#10016)) ([ece1d45](ece1d45)) * Remove PublicExecutor ([#10028](#10028)) ([9643dcd](9643dcd)) * Remove separate acvm versioning (noir-lang/noir#6561) ([b8bace9](b8bace9)) * Remove some `_else_condition` tech debt (noir-lang/noir#6522) ([b8bace9](b8bace9)) * Remove some unnecessary clones ([#10049](#10049)) ([8628b32](8628b32)) * Remove unused imports ([#10134](#10134)) ([8dbeda0](8dbeda0)) * Remove unused methods from implicit numeric generics (noir-lang/noir#6541) ([b8bace9](b8bace9)) * Replace relative paths to noir-protocol-circuits ([ccf6695](ccf6695)) * Replace relative paths to noir-protocol-circuits ([fa225a2](fa225a2)) * Replace relative paths to noir-protocol-circuits ([98387b8](98387b8)) * Replace relative paths to noir-protocol-circuits ([94753d4](94753d4)) * Restructure `noirc_evaluator` crate (noir-lang/noir#6534) ([b8bace9](b8bace9)) * Revamp attributes (noir-lang/noir#6424) ([b8bace9](b8bace9)) * Reverse ssa parser diff order (noir-lang/noir#6511) ([b8bace9](b8bace9)) * Revert [#6375](#6375) (noir-lang/noir#6552) ([b8bace9](b8bace9)) * Skip emitting public bytecode ([#10009](#10009)) ([280d169](280d169)) * Split path and import lookups (noir-lang/noir#6430) ([b8bace9](b8bace9)) * **ssa:** Skip array_set pass for Brillig functions (noir-lang/noir#6513) ([b8bace9](b8bace9)) * Switch to 1.0.0-beta versioning (noir-lang/noir#6503) ([b8bace9](b8bace9)) * **test:** More descriptive labels in test matrix (noir-lang/noir#6542) ([b8bace9](b8bace9)) * **test:** Remove duplicate brillig tests (noir-lang/noir#6523) ([b8bace9](b8bace9)) * **test:** Run test matrix on test_programs (noir-lang/noir#6429) ([b8bace9](b8bace9)) * Update example to show how to split public inputs in bash (noir-lang/noir#6472) ([b8bace9](b8bace9)) ### Documentation * Add docs to enable multi-threading in bb.js ([#10064](#10064)) ([8b4ebd1](8b4ebd1)) * Re-arrange references section ([#10070](#10070)) ([375482f](375482f)) </details> <details><summary>barretenberg: 0.64.0</summary> ## [0.64.0](barretenberg-v0.63.1...barretenberg-v0.64.0) (2024-11-25) ### Features * **avm:** Error handling for address resolution ([#9994](#9994)) ([ceaeda5](ceaeda5)), closes [#9131](#9131) * Improve trace utilization tracking ([#10008](#10008)) ([4c560ab](4c560ab)) * Improved data storage metrics ([#10020](#10020)) ([c6ab0c9](c6ab0c9)) * Insert public data tree leaves one by one ([#9989](#9989)) ([a2c0701](a2c0701)) * IPA accumulators setup for Rollup ([#10040](#10040)) ([4129e27](4129e27)) * Single commitment key allocation in CIVC ([#9974](#9974)) ([a0551ee](a0551ee)) ### Bug Fixes * Strip wasm debug ([#9987](#9987)) ([62a6b66](62a6b66)) * Zero index is not always 0 ([#10135](#10135)) ([bbac3d9](bbac3d9)) ### Miscellaneous * **avm:** Remove initialization for non-derived polynomials ([#10103](#10103)) ([c6fdf4b](c6fdf4b)), closes [#10096](#10096) * Delete stray todos ([#10112](#10112)) ([cc4139a](cc4139a)) * Optimise polynomial initialisation ([#10073](#10073)) ([e608742](e608742)) * Remove handling of duplicates from the note hash tree ([#10016](#10016)) ([ece1d45](ece1d45)) </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.64.0</summary> ## [0.64.0](AztecProtocol/aztec-packages@aztec-package-v0.63.1...aztec-package-v0.64.0) (2024-11-25) ### Features * Unify anvil versions ([#10143](AztecProtocol/aztec-packages#10143)) ([adae143](AztecProtocol/aztec-packages@adae143)) ### Miscellaneous * Fast epoch building test ([#10045](AztecProtocol/aztec-packages#10045)) ([fb791a2](AztecProtocol/aztec-packages@fb791a2)), closes [#9809](AztecProtocol/aztec-packages#9809) </details> <details><summary>barretenberg.js: 0.64.0</summary> ## [0.64.0](AztecProtocol/aztec-packages@barretenberg.js-v0.63.1...barretenberg.js-v0.64.0) (2024-11-25) ### Features * Single commitment key allocation in CIVC ([#9974](AztecProtocol/aztec-packages#9974)) ([a0551ee](AztecProtocol/aztec-packages@a0551ee)) ### Bug Fixes * Strip wasm debug ([#9987](AztecProtocol/aztec-packages#9987)) ([62a6b66](AztecProtocol/aztec-packages@62a6b66)) ### Documentation * Add docs to enable multi-threading in bb.js ([#10064](AztecProtocol/aztec-packages#10064)) ([8b4ebd1](AztecProtocol/aztec-packages@8b4ebd1)) </details> <details><summary>aztec-packages: 0.64.0</summary> ## [0.64.0](AztecProtocol/aztec-packages@aztec-packages-v0.63.1...aztec-packages-v0.64.0) (2024-11-25) ### ⚠ BREAKING CHANGES * rename SharedMutable methods ([#10165](AztecProtocol/aztec-packages#10165)) * add AztecAddress.isValid and make random be valid ([#10081](AztecProtocol/aztec-packages#10081)) * Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) ### Features * Add AztecAddress.isValid and make random be valid ([#10081](AztecProtocol/aztec-packages#10081)) ([fbdf6b0](AztecProtocol/aztec-packages@fbdf6b0)) * Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **avm:** Error handling for address resolution ([#9994](AztecProtocol/aztec-packages#9994)) ([ceaeda5](AztecProtocol/aztec-packages@ceaeda5)), closes [#9131](AztecProtocol/aztec-packages#9131) * **avm:** Integrate ephemeral trees ([#9917](AztecProtocol/aztec-packages#9917)) ([fbe1128](AztecProtocol/aztec-packages@fbe1128)) * **avm:** More efficient low leaf search ([#9870](AztecProtocol/aztec-packages#9870)) ([f7bbd83](AztecProtocol/aztec-packages@f7bbd83)) * Avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Bb-prover AVM test crafts a test TX & properly plumbs AvmCircuitPublicInputs to witgen ([#10083](AztecProtocol/aztec-packages#10083)) ([55564aa](AztecProtocol/aztec-packages@55564aa)) * Calls to non-existent contracts in the AVM simulator return failure ([#10051](AztecProtocol/aztec-packages#10051)) ([133384c](AztecProtocol/aztec-packages@133384c)) * Compute base-fee on l1 ([#9986](AztecProtocol/aztec-packages#9986)) ([4ab46fe](AztecProtocol/aztec-packages@4ab46fe)) * Deduplicate instructions across blocks (noir-lang/noir#6499) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * E2e metrics reporting ([#9776](AztecProtocol/aztec-packages#9776)) ([9cab121](AztecProtocol/aztec-packages@9cab121)) * Gating test ([#9918](AztecProtocol/aztec-packages#9918)) ([c6b65ab](AztecProtocol/aztec-packages@c6b65ab)), closes [#9883](AztecProtocol/aztec-packages#9883) * Google Kubernetes Engine - Prover Agent Spot Node Support ([#10031](AztecProtocol/aztec-packages#10031)) ([4d6da9b](AztecProtocol/aztec-packages@4d6da9b)) * Improve trace utilization tracking ([#10008](AztecProtocol/aztec-packages#10008)) ([4c560ab](AztecProtocol/aztec-packages@4c560ab)) * Improved data storage metrics ([#10020](AztecProtocol/aztec-packages#10020)) ([c6ab0c9](AztecProtocol/aztec-packages@c6ab0c9)) * Initial gas oracle ([#9952](AztecProtocol/aztec-packages#9952)) ([e740d42](AztecProtocol/aztec-packages@e740d42)) * Insert public data tree leaves one by one ([#9989](AztecProtocol/aztec-packages#9989)) ([a2c0701](AztecProtocol/aztec-packages@a2c0701)) * Integrate base fee computation into rollup ([#10076](AztecProtocol/aztec-packages#10076)) ([3417b22](AztecProtocol/aztec-packages@3417b22)) * IPA accumulators setup for Rollup ([#10040](AztecProtocol/aztec-packages#10040)) ([4129e27](AztecProtocol/aztec-packages@4129e27)) * New proving agent ([#9999](AztecProtocol/aztec-packages#9999)) ([9ad24dd](AztecProtocol/aztec-packages@9ad24dd)) * **profiler:** Reduce memory in Brillig execution flamegraph (noir-lang/noir#6538) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Public network deployments ([#10089](AztecProtocol/aztec-packages#10089)) ([570f70a](AztecProtocol/aztec-packages@570f70a)) * PXE handles reorgs ([#9913](AztecProtocol/aztec-packages#9913)) ([aafef9c](AztecProtocol/aztec-packages@aafef9c)) * Rename SharedMutable methods ([#10165](AztecProtocol/aztec-packages#10165)) ([4fd70e8](AztecProtocol/aztec-packages@4fd70e8)) * Reset pxe indexes ([#10093](AztecProtocol/aztec-packages#10093)) ([3848c01](AztecProtocol/aztec-packages@3848c01)) * Simplify constant MSM calls in SSA (noir-lang/noir#6547) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Single commitment key allocation in CIVC ([#9974](AztecProtocol/aztec-packages#9974)) ([a0551ee](AztecProtocol/aztec-packages@a0551ee)) * SSA parser (noir-lang/noir#6489) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **ssa:** Unroll small loops in brillig (noir-lang/noir#6505) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Sync from aztec-packages (noir-lang/noir#6557) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Sync tags as sender ([#10071](AztecProtocol/aztec-packages#10071)) ([122d2e4](AztecProtocol/aztec-packages@122d2e4)) * Terraform for release deployments ([#10091](AztecProtocol/aztec-packages#10091)) ([dc528da](AztecProtocol/aztec-packages@dc528da)), closes [#10144](AztecProtocol/aztec-packages#10144) * Trait aliases (noir-lang/noir#6431) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Unify anvil versions ([#10143](AztecProtocol/aztec-packages#10143)) ([adae143](AztecProtocol/aztec-packages@adae143)) * Updating consensus payload ([#10017](AztecProtocol/aztec-packages#10017)) ([85c8a3b](AztecProtocol/aztec-packages@85c8a3b)) * Use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **val:** Reex ([#9768](AztecProtocol/aztec-packages#9768)) ([2e58f0a](AztecProtocol/aztec-packages@2e58f0a)) ### Bug Fixes * Add curl to aztec nargo container ([#10173](AztecProtocol/aztec-packages#10173)) ([2add6ae](AztecProtocol/aztec-packages@2add6ae)) * Add zod parsing for generated contract artifacts ([#9905](AztecProtocol/aztec-packages#9905)) ([e1ef998](AztecProtocol/aztec-packages@e1ef998)) * Allow range checks to be performed within the comptime intepreter (noir-lang/noir#6514) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Allow unwinding multiple empty blocks ([#10084](AztecProtocol/aztec-packages#10084)) ([ec34442](AztecProtocol/aztec-packages@ec34442)) * Boxes ([#10122](AztecProtocol/aztec-packages#10122)) ([10df7c5](AztecProtocol/aztec-packages@10df7c5)) * Check infix expression is valid in program input (noir-lang/noir#6450) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Disallow `#[test]` on associated functions (noir-lang/noir#6449) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Disallow contract registration in pxe of contract with duplicate private function selectors ([#9773](AztecProtocol/aztec-packages#9773)) ([2587ad5](AztecProtocol/aztec-packages@2587ad5)) * Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Do a shallow follow_bindings before unification (noir-lang/noir#6558) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **docs:** Fix broken links in oracles doc (noir-lang/noir#6488) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Don't crash on AsTraitPath with empty path (noir-lang/noir#6454) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Fix poor handling of aliased references in flattening pass causing some values to be zeroed (noir-lang/noir#6434) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Let formatter respect newlines between comments (noir-lang/noir#6458) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Make bytecode part of artifact hash preimage again ([#9771](AztecProtocol/aztec-packages#9771)) ([cdabd85](AztecProtocol/aztec-packages@cdabd85)) * Parse Slice type in SSa (noir-lang/noir#6507) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Potential e2e-p2p fix ([#10094](AztecProtocol/aztec-packages#10094)) ([820bcc6](AztecProtocol/aztec-packages@820bcc6)) * Prover-agent.yaml syntax ([#10131](AztecProtocol/aztec-packages#10131)) ([a238fe6](AztecProtocol/aztec-packages@a238fe6)) * Remove src build from doc build flow ([#10127](AztecProtocol/aztec-packages#10127)) ([fbfe1b1](AztecProtocol/aztec-packages@fbfe1b1)) * Revert "feat: integrate base fee computation into rollup" ([#10166](AztecProtocol/aztec-packages#10166)) ([1a207f5](AztecProtocol/aztec-packages@1a207f5)) * Right shift is not a regular division (noir-lang/noir#6400) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **sea:** Mem2reg to treat block input references as alias (noir-lang/noir#6452) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Set local_module before elaborating each trait (noir-lang/noir#6506) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Sorting artifact props and members in metadata ([#9772](AztecProtocol/aztec-packages#9772)) ([aba568a](AztecProtocol/aztec-packages@aba568a)) * **ssa:** Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **ssa:** Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Strip wasm debug ([#9987](AztecProtocol/aztec-packages#9987)) ([62a6b66](AztecProtocol/aztec-packages@62a6b66)) * Take blackbox function outputs into account when merging expressions (noir-lang/noir#6532) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **tests:** Prevent EOF error while running test programs (noir-lang/noir#6455) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **tests:** Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Treat all parameters as possible aliases of each other (noir-lang/noir#6477) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Zero index is not always 0 ([#10135](AztecProtocol/aztec-packages#10135)) ([bbac3d9](AztecProtocol/aztec-packages@bbac3d9)) ### Miscellaneous * Add `Instruction::MakeArray` to SSA (noir-lang/noir#6071) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Added test showcasing performance regression (noir-lang/noir#6566) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **avm:** Remove initialization for non-derived polynomials ([#10103](AztecProtocol/aztec-packages#10103)) ([c6fdf4b](AztecProtocol/aztec-packages@c6fdf4b)), closes [#10096](AztecProtocol/aztec-packages#10096) * Bump rust dependencies (noir-lang/noir#6482) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **ci:** Bump mac github runner image to `macos-14` (noir-lang/noir#6545) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **ci:** Fix cargo deny (noir-lang/noir#6501) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Convert some tests to use SSA parser (noir-lang/noir#6543) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Delete stray todos ([#10112](AztecProtocol/aztec-packages#10112)) ([cc4139a](AztecProtocol/aztec-packages@cc4139a)) * Do not run e2e-2-pxes along with e2e pxe test ([#10155](AztecProtocol/aztec-packages#10155)) ([f0f8d22](AztecProtocol/aztec-packages@f0f8d22)) * **docs:** Update How to Oracles (noir-lang/noir#5675) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Embed package name in logs (noir-lang/noir#6564) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Fast epoch building test ([#10045](AztecProtocol/aztec-packages#10045)) ([fb791a2](AztecProtocol/aztec-packages@fb791a2)), closes [#9809](AztecProtocol/aztec-packages#9809) * Fix pool metrics ([#9652](AztecProtocol/aztec-packages#9652)) ([233b387](AztecProtocol/aztec-packages@233b387)) * Fix spartan deploy script ([#10078](AztecProtocol/aztec-packages#10078)) ([368ac8b](AztecProtocol/aztec-packages@368ac8b)) * Initial draft of testnet-runbook ([#10085](AztecProtocol/aztec-packages#10085)) ([598c1b1](AztecProtocol/aztec-packages@598c1b1)) * Lower throughput of ebs disks ([#9997](AztecProtocol/aztec-packages#9997)) ([698cd3d](AztecProtocol/aztec-packages@698cd3d)) * Make tests not silent if DEBUG set ([#10130](AztecProtocol/aztec-packages#10130)) ([95e8406](AztecProtocol/aztec-packages@95e8406)) * Move tests for arithmetic generics closer to the code (noir-lang/noir#6497) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Optimise polynomial initialisation ([#10073](AztecProtocol/aztec-packages#10073)) ([e608742](AztecProtocol/aztec-packages@e608742)) * Parse negatives in SSA parser (noir-lang/noir#6510) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Pull across noir-lang/noir[#6558](AztecProtocol/aztec-packages#6558) ([#10037](AztecProtocol/aztec-packages#10037)) ([3014a69](AztecProtocol/aztec-packages@3014a69)) * Pull out sync changes ([#10072](AztecProtocol/aztec-packages#10072)) ([06ef61e](AztecProtocol/aztec-packages@06ef61e)) * Release Noir(0.38.0) (noir-lang/noir#6422) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Release Noir(0.39.0) (noir-lang/noir#6484) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Remove handling of duplicates from the note hash tree ([#10016](AztecProtocol/aztec-packages#10016)) ([ece1d45](AztecProtocol/aztec-packages@ece1d45)) * Remove PublicExecutor ([#10028](AztecProtocol/aztec-packages#10028)) ([9643dcd](AztecProtocol/aztec-packages@9643dcd)) * Remove separate acvm versioning (noir-lang/noir#6561) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Remove some `_else_condition` tech debt (noir-lang/noir#6522) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Remove some unnecessary clones ([#10049](AztecProtocol/aztec-packages#10049)) ([8628b32](AztecProtocol/aztec-packages@8628b32)) * Remove unused imports ([#10134](AztecProtocol/aztec-packages#10134)) ([8dbeda0](AztecProtocol/aztec-packages@8dbeda0)) * Remove unused methods from implicit numeric generics (noir-lang/noir#6541) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Replace relative paths to noir-protocol-circuits ([ccf6695](AztecProtocol/aztec-packages@ccf6695)) * Replace relative paths to noir-protocol-circuits ([fa225a2](AztecProtocol/aztec-packages@fa225a2)) * Replace relative paths to noir-protocol-circuits ([98387b8](AztecProtocol/aztec-packages@98387b8)) * Replace relative paths to noir-protocol-circuits ([94753d4](AztecProtocol/aztec-packages@94753d4)) * Restructure `noirc_evaluator` crate (noir-lang/noir#6534) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Revamp attributes (noir-lang/noir#6424) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Reverse ssa parser diff order (noir-lang/noir#6511) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Revert [#6375](AztecProtocol/aztec-packages#6375) (noir-lang/noir#6552) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Skip emitting public bytecode ([#10009](AztecProtocol/aztec-packages#10009)) ([280d169](AztecProtocol/aztec-packages@280d169)) * Split path and import lookups (noir-lang/noir#6430) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **ssa:** Skip array_set pass for Brillig functions (noir-lang/noir#6513) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Switch to 1.0.0-beta versioning (noir-lang/noir#6503) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **test:** More descriptive labels in test matrix (noir-lang/noir#6542) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **test:** Remove duplicate brillig tests (noir-lang/noir#6523) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * **test:** Run test matrix on test_programs (noir-lang/noir#6429) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) * Update example to show how to split public inputs in bash (noir-lang/noir#6472) ([b8bace9](AztecProtocol/aztec-packages@b8bace9)) ### Documentation * Add docs to enable multi-threading in bb.js ([#10064](AztecProtocol/aztec-packages#10064)) ([8b4ebd1](AztecProtocol/aztec-packages@8b4ebd1)) * Re-arrange references section ([#10070](AztecProtocol/aztec-packages#10070)) ([375482f](AztecProtocol/aztec-packages@375482f)) </details> <details><summary>barretenberg: 0.64.0</summary> ## [0.64.0](AztecProtocol/aztec-packages@barretenberg-v0.63.1...barretenberg-v0.64.0) (2024-11-25) ### Features * **avm:** Error handling for address resolution ([#9994](AztecProtocol/aztec-packages#9994)) ([ceaeda5](AztecProtocol/aztec-packages@ceaeda5)), closes [#9131](AztecProtocol/aztec-packages#9131) * Improve trace utilization tracking ([#10008](AztecProtocol/aztec-packages#10008)) ([4c560ab](AztecProtocol/aztec-packages@4c560ab)) * Improved data storage metrics ([#10020](AztecProtocol/aztec-packages#10020)) ([c6ab0c9](AztecProtocol/aztec-packages@c6ab0c9)) * Insert public data tree leaves one by one ([#9989](AztecProtocol/aztec-packages#9989)) ([a2c0701](AztecProtocol/aztec-packages@a2c0701)) * IPA accumulators setup for Rollup ([#10040](AztecProtocol/aztec-packages#10040)) ([4129e27](AztecProtocol/aztec-packages@4129e27)) * Single commitment key allocation in CIVC ([#9974](AztecProtocol/aztec-packages#9974)) ([a0551ee](AztecProtocol/aztec-packages@a0551ee)) ### Bug Fixes * Strip wasm debug ([#9987](AztecProtocol/aztec-packages#9987)) ([62a6b66](AztecProtocol/aztec-packages@62a6b66)) * Zero index is not always 0 ([#10135](AztecProtocol/aztec-packages#10135)) ([bbac3d9](AztecProtocol/aztec-packages@bbac3d9)) ### Miscellaneous * **avm:** Remove initialization for non-derived polynomials ([#10103](AztecProtocol/aztec-packages#10103)) ([c6fdf4b](AztecProtocol/aztec-packages@c6fdf4b)), closes [#10096](AztecProtocol/aztec-packages#10096) * Delete stray todos ([#10112](AztecProtocol/aztec-packages#10112)) ([cc4139a](AztecProtocol/aztec-packages@cc4139a)) * Optimise polynomial initialisation ([#10073](AztecProtocol/aztec-packages#10073)) ([e608742](AztecProtocol/aztec-packages@e608742)) * Remove handling of duplicates from the note hash tree ([#10016](AztecProtocol/aztec-packages#10016)) ([ece1d45](AztecProtocol/aztec-packages@ece1d45)) </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 #6444
Summary*
#6355 changed the logic in the
array_set
SSA pass so that arrays which were loaded from references that are inputs to the block are not set with mutation, as the reference might be shared with something outside the block.In this instance what we had was a slice passed to a function like
v1: [Field]
, as opposed to the above which passed a referencev1: &mut [Field; 3]
, but the effect was similar in that the code ended up mutating the slice backingv1
, over which a refcount was even increased, instead of making a copy.The PR changes the decision so that if we are setting an item on an array that is part of the function inputs (not the block inputs), then it will not use mutation.
Additional Context
See #6444 (comment) for the SSA samples.
I have tested this with #6429 but opened the PR to
master
.Documentation*
Check one:
PR Checklist*
cargo fmt
on default settings.