-
Notifications
You must be signed in to change notification settings - Fork 233
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
chore: add compile-time assertions on generic arguments of stdlib functions #6981
Conversation
…tatic_assert locations for field/mod.nr
Compilation Report
|
Execution Report
|
Compilation Memory Report
|
Execution Memory Report
|
…cks for numeric generics in field/mod.nr, fixed printing in test_transform_program_is_idempotent
…c_assert, ensure dynamic vars rejected by static_assert
…raint(input_expr_witness, bit_size)?;' for to_radix
Changes to number of Brillig opcodes executed
🧾 Summary (10% most significant diffs)
Full diff report 👇
|
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.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark 'Execution Time'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20
.
Benchmark suite | Current: 55fcc95 | Previous: 8804f0a | Ratio |
---|---|---|---|
regression_4709 |
0.002 s |
0.001 s |
2 |
This comment was automatically generated by workflow using github-action-benchmark.
CC: @TomAFrench
We took a look into the regression and the result is due to the changes in weights causing things that would otherwise be inlined to not be inlined. This will be resolved by #7148 |
…re tests, wip debugging test failures, cleanup diagnostic printing
…e debug 'static_assert's and only check radix when not is_unconstrained, simplify to nothing when invalid radix, check radix range when generating ACIR, add brillig-specific to_radix tests, add handling for unconstrained mode for acir to_radix tests
Changes to Brillig bytecode sizes
🧾 Summary (10% most significant diffs)
Full diff report 👇
|
fix: ensure canonical bits decomposition (noir-lang/noir#7168) fix: Keep `inc_rc` for array inputs during preprocessing (noir-lang/noir#7163) fix(docs): Update broken links to EC lib (noir-lang/noir#7141) feat: inline simple functions (noir-lang/noir#7160) feat(ssa): Expand feature set of the Brillig constraint check (noir-lang/noir#7060) fix(ssa): Resolve value before fetching from DFG in a couple cases (noir-lang/noir#7169) fix: `Function::is_no_predicates` always returned false for brillig f… (noir-lang/noir#7167) chore(refactor): Remove globals field on Ssa object and use only the shared globals graph (noir-lang/noir#7156) chore: let `Function::inlined` take a `should_inline_call` function (noir-lang/noir#7149) chore: add compile-time assertions on generic arguments of stdlib functions (noir-lang/noir#6981) fix: LSP hover over function with `&mut self` (noir-lang/noir#7155) feat(brillig): Set global memory size at program compile time (noir-lang/noir#7151) feat: LSP autocomplete module declaration (noir-lang/noir#7154) feat(ssa): Reuse constants from the globals graph when making constants in a function DFG (noir-lang/noir#7153) feat: LSP chain inlay hints (noir-lang/noir#7152) chore: turn on overflow checks in CI rust tests (noir-lang/noir#7145) fix(ssa): Use post order when mapping instructions in loop invariant pass (noir-lang/noir#7140) fix: preserve types when reading from calldata arrays (noir-lang/noir#7144) feat: Resolve enums & prepare type system (noir-lang/noir#7115) feat: `loop` must have at least one `break` (noir-lang/noir#7126) feat: parse globals in SSA parser (noir-lang/noir#7112) fix: allow calling trait impl method from struct if multiple impls exist (noir-lang/noir#7124) fix: avoid creating unnecessary memory blocks (noir-lang/noir#7114) chore: relax threshold for reporting regressions (noir-lang/noir#7130) fix: proper cleanup when breaking from comptime loop on error (noir-lang/noir#7125) fix: Prevent overlapping associated types impls (noir-lang/noir#7047) feat: unconstrained optimizations for BoundedVec (noir-lang/noir#7119) chore: mark libs good (noir-lang/noir#7123) chore: remove comments for time/memory benchmarks (noir-lang/noir#7121) fix: don't always use an exclusive lock in `nargo check` (noir-lang/noir#7120) feat(ssa): Pass to preprocess functions (noir-lang/noir#7072) chore: Formatting issues / minor errors in the docs (noir-lang/noir#7105) fix: defunctionalize pass on the caller runtime to apply (noir-lang/noir#7100) feat: Parser and formatter support for `enum`s (noir-lang/noir#7110) feat(brillig): SSA globals code gen (noir-lang/noir#7021) feat: `loop` keyword in runtime and comptime code (noir-lang/noir#7096) chore: Add benchmarking dashboard (noir-lang/noir#7068) feat(experimental): try to infer lambda argument types inside calls (noir-lang/noir#7088) feat(ssa): Add flag to DIE pass to be able to keep `store` instructions (noir-lang/noir#7106) chore: Cookbook Onboard integration (noir-lang/noir#7044) chore: lock to ubuntu 22.04 (noir-lang/noir#7098) fix: Remove unused brillig functions (noir-lang/noir#7102) chore(ssa): Use correct prefix when printing array values in global space (noir-lang/noir#7095)
fix: ensure canonical bits decomposition (noir-lang/noir#7168) fix: Keep `inc_rc` for array inputs during preprocessing (noir-lang/noir#7163) fix(docs): Update broken links to EC lib (noir-lang/noir#7141) feat: inline simple functions (noir-lang/noir#7160) feat(ssa): Expand feature set of the Brillig constraint check (noir-lang/noir#7060) fix(ssa): Resolve value before fetching from DFG in a couple cases (noir-lang/noir#7169) fix: `Function::is_no_predicates` always returned false for brillig f… (noir-lang/noir#7167) chore(refactor): Remove globals field on Ssa object and use only the shared globals graph (noir-lang/noir#7156) chore: let `Function::inlined` take a `should_inline_call` function (noir-lang/noir#7149) chore: add compile-time assertions on generic arguments of stdlib functions (noir-lang/noir#6981) fix: LSP hover over function with `&mut self` (noir-lang/noir#7155) feat(brillig): Set global memory size at program compile time (noir-lang/noir#7151) feat: LSP autocomplete module declaration (noir-lang/noir#7154) feat(ssa): Reuse constants from the globals graph when making constants in a function DFG (noir-lang/noir#7153) feat: LSP chain inlay hints (noir-lang/noir#7152) chore: turn on overflow checks in CI rust tests (noir-lang/noir#7145) fix(ssa): Use post order when mapping instructions in loop invariant pass (noir-lang/noir#7140) fix: preserve types when reading from calldata arrays (noir-lang/noir#7144) feat: Resolve enums & prepare type system (noir-lang/noir#7115) feat: `loop` must have at least one `break` (noir-lang/noir#7126) feat: parse globals in SSA parser (noir-lang/noir#7112) fix: allow calling trait impl method from struct if multiple impls exist (noir-lang/noir#7124) fix: avoid creating unnecessary memory blocks (noir-lang/noir#7114) chore: relax threshold for reporting regressions (noir-lang/noir#7130) fix: proper cleanup when breaking from comptime loop on error (noir-lang/noir#7125) fix: Prevent overlapping associated types impls (noir-lang/noir#7047) feat: unconstrained optimizations for BoundedVec (noir-lang/noir#7119) chore: mark libs good (noir-lang/noir#7123) chore: remove comments for time/memory benchmarks (noir-lang/noir#7121) fix: don't always use an exclusive lock in `nargo check` (noir-lang/noir#7120) feat(ssa): Pass to preprocess functions (noir-lang/noir#7072) chore: Formatting issues / minor errors in the docs (noir-lang/noir#7105) fix: defunctionalize pass on the caller runtime to apply (noir-lang/noir#7100) feat: Parser and formatter support for `enum`s (noir-lang/noir#7110) feat(brillig): SSA globals code gen (noir-lang/noir#7021) feat: `loop` keyword in runtime and comptime code (noir-lang/noir#7096) chore: Add benchmarking dashboard (noir-lang/noir#7068) feat(experimental): try to infer lambda argument types inside calls (noir-lang/noir#7088) feat(ssa): Add flag to DIE pass to be able to keep `store` instructions (noir-lang/noir#7106) chore: Cookbook Onboard integration (noir-lang/noir#7044) chore: lock to ubuntu 22.04 (noir-lang/noir#7098) fix: Remove unused brillig functions (noir-lang/noir#7102) chore(ssa): Use correct prefix when printing array values in global space (noir-lang/noir#7095)
…r-lang/noir#7185) fix(LSP): correct signature for assert and assert_eq (noir-lang/noir#7184) chore(experimental): Prevent enum panics by returning Options where possible instead of panicking (noir-lang/noir#7180) feat(experimental): Construct enum variants in expressions (noir-lang/noir#7174) feat: add `noir-inspector` (noir-lang/noir#7136) fix: ensure canonical bits decomposition (noir-lang/noir#7168) fix: Keep `inc_rc` for array inputs during preprocessing (noir-lang/noir#7163) fix(docs): Update broken links to EC lib (noir-lang/noir#7141) feat: inline simple functions (noir-lang/noir#7160) feat(ssa): Expand feature set of the Brillig constraint check (noir-lang/noir#7060) fix(ssa): Resolve value before fetching from DFG in a couple cases (noir-lang/noir#7169) fix: `Function::is_no_predicates` always returned false for brillig f… (noir-lang/noir#7167) chore(refactor): Remove globals field on Ssa object and use only the shared globals graph (noir-lang/noir#7156) chore: let `Function::inlined` take a `should_inline_call` function (noir-lang/noir#7149) chore: add compile-time assertions on generic arguments of stdlib functions (noir-lang/noir#6981) fix: LSP hover over function with `&mut self` (noir-lang/noir#7155) feat(brillig): Set global memory size at program compile time (noir-lang/noir#7151) feat: LSP autocomplete module declaration (noir-lang/noir#7154) feat(ssa): Reuse constants from the globals graph when making constants in a function DFG (noir-lang/noir#7153) feat: LSP chain inlay hints (noir-lang/noir#7152) chore: turn on overflow checks in CI rust tests (noir-lang/noir#7145) fix(ssa): Use post order when mapping instructions in loop invariant pass (noir-lang/noir#7140) fix: preserve types when reading from calldata arrays (noir-lang/noir#7144) feat: Resolve enums & prepare type system (noir-lang/noir#7115) feat: `loop` must have at least one `break` (noir-lang/noir#7126) feat: parse globals in SSA parser (noir-lang/noir#7112) fix: allow calling trait impl method from struct if multiple impls exist (noir-lang/noir#7124) fix: avoid creating unnecessary memory blocks (noir-lang/noir#7114) chore: relax threshold for reporting regressions (noir-lang/noir#7130) fix: proper cleanup when breaking from comptime loop on error (noir-lang/noir#7125) fix: Prevent overlapping associated types impls (noir-lang/noir#7047) feat: unconstrained optimizations for BoundedVec (noir-lang/noir#7119) chore: mark libs good (noir-lang/noir#7123) chore: remove comments for time/memory benchmarks (noir-lang/noir#7121) fix: don't always use an exclusive lock in `nargo check` (noir-lang/noir#7120) feat(ssa): Pass to preprocess functions (noir-lang/noir#7072) chore: Formatting issues / minor errors in the docs (noir-lang/noir#7105) fix: defunctionalize pass on the caller runtime to apply (noir-lang/noir#7100) feat: Parser and formatter support for `enum`s (noir-lang/noir#7110) feat(brillig): SSA globals code gen (noir-lang/noir#7021) feat: `loop` keyword in runtime and comptime code (noir-lang/noir#7096) chore: Add benchmarking dashboard (noir-lang/noir#7068) feat(experimental): try to infer lambda argument types inside calls (noir-lang/noir#7088) feat(ssa): Add flag to DIE pass to be able to keep `store` instructions (noir-lang/noir#7106) chore: Cookbook Onboard integration (noir-lang/noir#7044) chore: lock to ubuntu 22.04 (noir-lang/noir#7098) fix: Remove unused brillig functions (noir-lang/noir#7102) chore(ssa): Use correct prefix when printing array values in global space (noir-lang/noir#7095)
…7185) fix(LSP): correct signature for assert and assert_eq (noir-lang/noir#7184) chore(experimental): Prevent enum panics by returning Options where possible instead of panicking (noir-lang/noir#7180) feat(experimental): Construct enum variants in expressions (noir-lang/noir#7174) feat: add `noir-inspector` (noir-lang/noir#7136) fix: ensure canonical bits decomposition (noir-lang/noir#7168) fix: Keep `inc_rc` for array inputs during preprocessing (noir-lang/noir#7163) fix(docs): Update broken links to EC lib (noir-lang/noir#7141) feat: inline simple functions (noir-lang/noir#7160) feat(ssa): Expand feature set of the Brillig constraint check (noir-lang/noir#7060) fix(ssa): Resolve value before fetching from DFG in a couple cases (noir-lang/noir#7169) fix: `Function::is_no_predicates` always returned false for brillig f… (noir-lang/noir#7167) chore(refactor): Remove globals field on Ssa object and use only the shared globals graph (noir-lang/noir#7156) chore: let `Function::inlined` take a `should_inline_call` function (noir-lang/noir#7149) chore: add compile-time assertions on generic arguments of stdlib functions (noir-lang/noir#6981) fix: LSP hover over function with `&mut self` (noir-lang/noir#7155) feat(brillig): Set global memory size at program compile time (noir-lang/noir#7151) feat: LSP autocomplete module declaration (noir-lang/noir#7154) feat(ssa): Reuse constants from the globals graph when making constants in a function DFG (noir-lang/noir#7153) feat: LSP chain inlay hints (noir-lang/noir#7152) chore: turn on overflow checks in CI rust tests (noir-lang/noir#7145) fix(ssa): Use post order when mapping instructions in loop invariant pass (noir-lang/noir#7140) fix: preserve types when reading from calldata arrays (noir-lang/noir#7144) feat: Resolve enums & prepare type system (noir-lang/noir#7115) feat: `loop` must have at least one `break` (noir-lang/noir#7126) feat: parse globals in SSA parser (noir-lang/noir#7112) fix: allow calling trait impl method from struct if multiple impls exist (noir-lang/noir#7124) fix: avoid creating unnecessary memory blocks (noir-lang/noir#7114) chore: relax threshold for reporting regressions (noir-lang/noir#7130) fix: proper cleanup when breaking from comptime loop on error (noir-lang/noir#7125) fix: Prevent overlapping associated types impls (noir-lang/noir#7047) feat: unconstrained optimizations for BoundedVec (noir-lang/noir#7119) chore: mark libs good (noir-lang/noir#7123) chore: remove comments for time/memory benchmarks (noir-lang/noir#7121) fix: don't always use an exclusive lock in `nargo check` (noir-lang/noir#7120) feat(ssa): Pass to preprocess functions (noir-lang/noir#7072) chore: Formatting issues / minor errors in the docs (noir-lang/noir#7105) fix: defunctionalize pass on the caller runtime to apply (noir-lang/noir#7100) feat: Parser and formatter support for `enum`s (noir-lang/noir#7110) feat(brillig): SSA globals code gen (noir-lang/noir#7021) feat: `loop` keyword in runtime and comptime code (noir-lang/noir#7096) chore: Add benchmarking dashboard (noir-lang/noir#7068) feat(experimental): try to infer lambda argument types inside calls (noir-lang/noir#7088) feat(ssa): Add flag to DIE pass to be able to keep `store` instructions (noir-lang/noir#7106) chore: Cookbook Onboard integration (noir-lang/noir#7044) chore: lock to ubuntu 22.04 (noir-lang/noir#7098) fix: Remove unused brillig functions (noir-lang/noir#7102) chore(ssa): Use correct prefix when printing array values in global space (noir-lang/noir#7095)
…r-lang/noir#7185) fix(LSP): correct signature for assert and assert_eq (noir-lang/noir#7184) chore(experimental): Prevent enum panics by returning Options where possible instead of panicking (noir-lang/noir#7180) feat(experimental): Construct enum variants in expressions (noir-lang/noir#7174) feat: add `noir-inspector` (noir-lang/noir#7136) fix: ensure canonical bits decomposition (noir-lang/noir#7168) fix: Keep `inc_rc` for array inputs during preprocessing (noir-lang/noir#7163) fix(docs): Update broken links to EC lib (noir-lang/noir#7141) feat: inline simple functions (noir-lang/noir#7160) feat(ssa): Expand feature set of the Brillig constraint check (noir-lang/noir#7060) fix(ssa): Resolve value before fetching from DFG in a couple cases (noir-lang/noir#7169) fix: `Function::is_no_predicates` always returned false for brillig f… (noir-lang/noir#7167) chore(refactor): Remove globals field on Ssa object and use only the shared globals graph (noir-lang/noir#7156) chore: let `Function::inlined` take a `should_inline_call` function (noir-lang/noir#7149) chore: add compile-time assertions on generic arguments of stdlib functions (noir-lang/noir#6981) fix: LSP hover over function with `&mut self` (noir-lang/noir#7155) feat(brillig): Set global memory size at program compile time (noir-lang/noir#7151) feat: LSP autocomplete module declaration (noir-lang/noir#7154) feat(ssa): Reuse constants from the globals graph when making constants in a function DFG (noir-lang/noir#7153) feat: LSP chain inlay hints (noir-lang/noir#7152) chore: turn on overflow checks in CI rust tests (noir-lang/noir#7145) fix(ssa): Use post order when mapping instructions in loop invariant pass (noir-lang/noir#7140) fix: preserve types when reading from calldata arrays (noir-lang/noir#7144) feat: Resolve enums & prepare type system (noir-lang/noir#7115) feat: `loop` must have at least one `break` (noir-lang/noir#7126) feat: parse globals in SSA parser (noir-lang/noir#7112) fix: allow calling trait impl method from struct if multiple impls exist (noir-lang/noir#7124) fix: avoid creating unnecessary memory blocks (noir-lang/noir#7114) chore: relax threshold for reporting regressions (noir-lang/noir#7130) fix: proper cleanup when breaking from comptime loop on error (noir-lang/noir#7125) fix: Prevent overlapping associated types impls (noir-lang/noir#7047) feat: unconstrained optimizations for BoundedVec (noir-lang/noir#7119) chore: mark libs good (noir-lang/noir#7123) chore: remove comments for time/memory benchmarks (noir-lang/noir#7121) fix: don't always use an exclusive lock in `nargo check` (noir-lang/noir#7120) feat(ssa): Pass to preprocess functions (noir-lang/noir#7072) chore: Formatting issues / minor errors in the docs (noir-lang/noir#7105) fix: defunctionalize pass on the caller runtime to apply (noir-lang/noir#7100) feat: Parser and formatter support for `enum`s (noir-lang/noir#7110) feat(brillig): SSA globals code gen (noir-lang/noir#7021) feat: `loop` keyword in runtime and comptime code (noir-lang/noir#7096) chore: Add benchmarking dashboard (noir-lang/noir#7068) feat(experimental): try to infer lambda argument types inside calls (noir-lang/noir#7088) feat(ssa): Add flag to DIE pass to be able to keep `store` instructions (noir-lang/noir#7106) chore: Cookbook Onboard integration (noir-lang/noir#7044) chore: lock to ubuntu 22.04 (noir-lang/noir#7098) fix: Remove unused brillig functions (noir-lang/noir#7102) chore(ssa): Use correct prefix when printing array values in global space (noir-lang/noir#7095)
…7185) fix(LSP): correct signature for assert and assert_eq (noir-lang/noir#7184) chore(experimental): Prevent enum panics by returning Options where possible instead of panicking (noir-lang/noir#7180) feat(experimental): Construct enum variants in expressions (noir-lang/noir#7174) feat: add `noir-inspector` (noir-lang/noir#7136) fix: ensure canonical bits decomposition (noir-lang/noir#7168) fix: Keep `inc_rc` for array inputs during preprocessing (noir-lang/noir#7163) fix(docs): Update broken links to EC lib (noir-lang/noir#7141) feat: inline simple functions (noir-lang/noir#7160) feat(ssa): Expand feature set of the Brillig constraint check (noir-lang/noir#7060) fix(ssa): Resolve value before fetching from DFG in a couple cases (noir-lang/noir#7169) fix: `Function::is_no_predicates` always returned false for brillig f… (noir-lang/noir#7167) chore(refactor): Remove globals field on Ssa object and use only the shared globals graph (noir-lang/noir#7156) chore: let `Function::inlined` take a `should_inline_call` function (noir-lang/noir#7149) chore: add compile-time assertions on generic arguments of stdlib functions (noir-lang/noir#6981) fix: LSP hover over function with `&mut self` (noir-lang/noir#7155) feat(brillig): Set global memory size at program compile time (noir-lang/noir#7151) feat: LSP autocomplete module declaration (noir-lang/noir#7154) feat(ssa): Reuse constants from the globals graph when making constants in a function DFG (noir-lang/noir#7153) feat: LSP chain inlay hints (noir-lang/noir#7152) chore: turn on overflow checks in CI rust tests (noir-lang/noir#7145) fix(ssa): Use post order when mapping instructions in loop invariant pass (noir-lang/noir#7140) fix: preserve types when reading from calldata arrays (noir-lang/noir#7144) feat: Resolve enums & prepare type system (noir-lang/noir#7115) feat: `loop` must have at least one `break` (noir-lang/noir#7126) feat: parse globals in SSA parser (noir-lang/noir#7112) fix: allow calling trait impl method from struct if multiple impls exist (noir-lang/noir#7124) fix: avoid creating unnecessary memory blocks (noir-lang/noir#7114) chore: relax threshold for reporting regressions (noir-lang/noir#7130) fix: proper cleanup when breaking from comptime loop on error (noir-lang/noir#7125) fix: Prevent overlapping associated types impls (noir-lang/noir#7047) feat: unconstrained optimizations for BoundedVec (noir-lang/noir#7119) chore: mark libs good (noir-lang/noir#7123) chore: remove comments for time/memory benchmarks (noir-lang/noir#7121) fix: don't always use an exclusive lock in `nargo check` (noir-lang/noir#7120) feat(ssa): Pass to preprocess functions (noir-lang/noir#7072) chore: Formatting issues / minor errors in the docs (noir-lang/noir#7105) fix: defunctionalize pass on the caller runtime to apply (noir-lang/noir#7100) feat: Parser and formatter support for `enum`s (noir-lang/noir#7110) feat(brillig): SSA globals code gen (noir-lang/noir#7021) feat: `loop` keyword in runtime and comptime code (noir-lang/noir#7096) chore: Add benchmarking dashboard (noir-lang/noir#7068) feat(experimental): try to infer lambda argument types inside calls (noir-lang/noir#7088) feat(ssa): Add flag to DIE pass to be able to keep `store` instructions (noir-lang/noir#7106) chore: Cookbook Onboard integration (noir-lang/noir#7044) chore: lock to ubuntu 22.04 (noir-lang/noir#7098) fix: Remove unused brillig functions (noir-lang/noir#7102) chore(ssa): Use correct prefix when printing array values in global space (noir-lang/noir#7095)
…r-lang/noir#7185) fix(LSP): correct signature for assert and assert_eq (noir-lang/noir#7184) chore(experimental): Prevent enum panics by returning Options where possible instead of panicking (noir-lang/noir#7180) feat(experimental): Construct enum variants in expressions (noir-lang/noir#7174) feat: add `noir-inspector` (noir-lang/noir#7136) fix: ensure canonical bits decomposition (noir-lang/noir#7168) fix: Keep `inc_rc` for array inputs during preprocessing (noir-lang/noir#7163) fix(docs): Update broken links to EC lib (noir-lang/noir#7141) feat: inline simple functions (noir-lang/noir#7160) feat(ssa): Expand feature set of the Brillig constraint check (noir-lang/noir#7060) fix(ssa): Resolve value before fetching from DFG in a couple cases (noir-lang/noir#7169) fix: `Function::is_no_predicates` always returned false for brillig f… (noir-lang/noir#7167) chore(refactor): Remove globals field on Ssa object and use only the shared globals graph (noir-lang/noir#7156) chore: let `Function::inlined` take a `should_inline_call` function (noir-lang/noir#7149) chore: add compile-time assertions on generic arguments of stdlib functions (noir-lang/noir#6981) fix: LSP hover over function with `&mut self` (noir-lang/noir#7155) feat(brillig): Set global memory size at program compile time (noir-lang/noir#7151) feat: LSP autocomplete module declaration (noir-lang/noir#7154) feat(ssa): Reuse constants from the globals graph when making constants in a function DFG (noir-lang/noir#7153) feat: LSP chain inlay hints (noir-lang/noir#7152) chore: turn on overflow checks in CI rust tests (noir-lang/noir#7145) fix(ssa): Use post order when mapping instructions in loop invariant pass (noir-lang/noir#7140) fix: preserve types when reading from calldata arrays (noir-lang/noir#7144) feat: Resolve enums & prepare type system (noir-lang/noir#7115) feat: `loop` must have at least one `break` (noir-lang/noir#7126) feat: parse globals in SSA parser (noir-lang/noir#7112) fix: allow calling trait impl method from struct if multiple impls exist (noir-lang/noir#7124) fix: avoid creating unnecessary memory blocks (noir-lang/noir#7114) chore: relax threshold for reporting regressions (noir-lang/noir#7130) fix: proper cleanup when breaking from comptime loop on error (noir-lang/noir#7125) fix: Prevent overlapping associated types impls (noir-lang/noir#7047) feat: unconstrained optimizations for BoundedVec (noir-lang/noir#7119) chore: mark libs good (noir-lang/noir#7123) chore: remove comments for time/memory benchmarks (noir-lang/noir#7121) fix: don't always use an exclusive lock in `nargo check` (noir-lang/noir#7120) feat(ssa): Pass to preprocess functions (noir-lang/noir#7072) chore: Formatting issues / minor errors in the docs (noir-lang/noir#7105) fix: defunctionalize pass on the caller runtime to apply (noir-lang/noir#7100) feat: Parser and formatter support for `enum`s (noir-lang/noir#7110) feat(brillig): SSA globals code gen (noir-lang/noir#7021) feat: `loop` keyword in runtime and comptime code (noir-lang/noir#7096) chore: Add benchmarking dashboard (noir-lang/noir#7068) feat(experimental): try to infer lambda argument types inside calls (noir-lang/noir#7088) feat(ssa): Add flag to DIE pass to be able to keep `store` instructions (noir-lang/noir#7106) chore: Cookbook Onboard integration (noir-lang/noir#7044) chore: lock to ubuntu 22.04 (noir-lang/noir#7098) fix: Remove unused brillig functions (noir-lang/noir#7102) chore(ssa): Use correct prefix when printing array values in global space (noir-lang/noir#7095)
…7185) fix(LSP): correct signature for assert and assert_eq (noir-lang/noir#7184) chore(experimental): Prevent enum panics by returning Options where possible instead of panicking (noir-lang/noir#7180) feat(experimental): Construct enum variants in expressions (noir-lang/noir#7174) feat: add `noir-inspector` (noir-lang/noir#7136) fix: ensure canonical bits decomposition (noir-lang/noir#7168) fix: Keep `inc_rc` for array inputs during preprocessing (noir-lang/noir#7163) fix(docs): Update broken links to EC lib (noir-lang/noir#7141) feat: inline simple functions (noir-lang/noir#7160) feat(ssa): Expand feature set of the Brillig constraint check (noir-lang/noir#7060) fix(ssa): Resolve value before fetching from DFG in a couple cases (noir-lang/noir#7169) fix: `Function::is_no_predicates` always returned false for brillig f… (noir-lang/noir#7167) chore(refactor): Remove globals field on Ssa object and use only the shared globals graph (noir-lang/noir#7156) chore: let `Function::inlined` take a `should_inline_call` function (noir-lang/noir#7149) chore: add compile-time assertions on generic arguments of stdlib functions (noir-lang/noir#6981) fix: LSP hover over function with `&mut self` (noir-lang/noir#7155) feat(brillig): Set global memory size at program compile time (noir-lang/noir#7151) feat: LSP autocomplete module declaration (noir-lang/noir#7154) feat(ssa): Reuse constants from the globals graph when making constants in a function DFG (noir-lang/noir#7153) feat: LSP chain inlay hints (noir-lang/noir#7152) chore: turn on overflow checks in CI rust tests (noir-lang/noir#7145) fix(ssa): Use post order when mapping instructions in loop invariant pass (noir-lang/noir#7140) fix: preserve types when reading from calldata arrays (noir-lang/noir#7144) feat: Resolve enums & prepare type system (noir-lang/noir#7115) feat: `loop` must have at least one `break` (noir-lang/noir#7126) feat: parse globals in SSA parser (noir-lang/noir#7112) fix: allow calling trait impl method from struct if multiple impls exist (noir-lang/noir#7124) fix: avoid creating unnecessary memory blocks (noir-lang/noir#7114) chore: relax threshold for reporting regressions (noir-lang/noir#7130) fix: proper cleanup when breaking from comptime loop on error (noir-lang/noir#7125) fix: Prevent overlapping associated types impls (noir-lang/noir#7047) feat: unconstrained optimizations for BoundedVec (noir-lang/noir#7119) chore: mark libs good (noir-lang/noir#7123) chore: remove comments for time/memory benchmarks (noir-lang/noir#7121) fix: don't always use an exclusive lock in `nargo check` (noir-lang/noir#7120) feat(ssa): Pass to preprocess functions (noir-lang/noir#7072) chore: Formatting issues / minor errors in the docs (noir-lang/noir#7105) fix: defunctionalize pass on the caller runtime to apply (noir-lang/noir#7100) feat: Parser and formatter support for `enum`s (noir-lang/noir#7110) feat(brillig): SSA globals code gen (noir-lang/noir#7021) feat: `loop` keyword in runtime and comptime code (noir-lang/noir#7096) chore: Add benchmarking dashboard (noir-lang/noir#7068) feat(experimental): try to infer lambda argument types inside calls (noir-lang/noir#7088) feat(ssa): Add flag to DIE pass to be able to keep `store` instructions (noir-lang/noir#7106) chore: Cookbook Onboard integration (noir-lang/noir#7044) chore: lock to ubuntu 22.04 (noir-lang/noir#7098) fix: Remove unused brillig functions (noir-lang/noir#7102) chore(ssa): Use correct prefix when printing array values in global space (noir-lang/noir#7095)
Description
Problem*
Resolves #6962
Summary*
Additional Context
Documentation*
Check one:
PR Checklist*
cargo fmt
on default settings.