Skip to content

feat: ensure that generated ACIR is solvable#6415

Merged
TomAFrench merged 14 commits intomasterfrom
gd/issue_6389
Nov 1, 2024
Merged

feat: ensure that generated ACIR is solvable#6415
TomAFrench merged 14 commits intomasterfrom
gd/issue_6389

Conversation

@guipublic
Copy link
Contributor

Description

Problem*

Resolves #6389

Summary*

Add a pass at the end of the ACIR transform to check that the result can be solved

Additional Context

Minimal error handling as this pass should always pass unless there is an issue (i.e a compiler bug) during transformation.

Documentation*

Check one:

  • No documentation needed.
  • Documentation included in this PR.
  • [For Experimental Features] Documentation to be submitted in a separate PR.

PR Checklist*

  • I have tested the changes locally.
  • I have formatted the changes with Prettier and/or cargo fmt on default settings.

@guipublic
Copy link
Contributor Author

guipublic commented Oct 31, 2024

I see that my branch got mixed with the right shift PR I was working on just before.
I cleaned it.

@TomAFrench TomAFrench changed the title chore: ensure that generated ACIR is solvable feat: ensure that generated ACIR is solvable Nov 1, 2024
@TomAFrench TomAFrench added this pull request to the merge queue Nov 1, 2024
Merged via the queue into master with commit b473d99 Nov 1, 2024
@TomAFrench TomAFrench deleted the gd/issue_6389 branch November 1, 2024 13:20
AztecBot pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Nov 1, 2024
…oir#6415)

fix: fix Alias and Error kinds (noir-lang/noir#6426)
fix: type-check turbofish in trait before function call (noir-lang/noir#6416)
chore: create a regression test for #6420 (noir-lang/noir#6421)
chore: Release Noir(0.37.0) (noir-lang/noir#6321)
chore: update variable names in stdlib tests to be more correct (noir-lang/noir#6419)
feat!: remove mimc from stdlib (noir-lang/noir#6402)
chore: Replace dead link with updated route in README (noir-lang/noir#6392)
feat(ci): Add report of Brillig opcodes executed (noir-lang/noir#6396)
feat: improve malformed test attribute error (noir-lang/noir#6414)
fix: aliases in path (noir-lang/noir#6399)
feat(profiler): Add Brillig procedure info to debug artifact for more informative profiling (noir-lang/noir#6385)
chore(lsp): Remove profile code lens (noir-lang/noir#6411)
chore(nargo): Remove old profile as part of info cmd (noir-lang/noir#6406)
fix: distinguish TypePath with and without turbofish (noir-lang/noir#6404)
fix: numeric generic doesn't have a default type (noir-lang/noir#6405)
feat: Sync from aztec-packages (noir-lang/noir#6403)
chore: add regression tests for #4372 (noir-lang/noir#6401)
chore: add regression tests for #6314 (noir-lang/noir#6381)
AztecBot pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Nov 1, 2024
fix: fix Alias and Error kinds (noir-lang/noir#6426)
fix: type-check turbofish in trait before function call (noir-lang/noir#6416)
chore: create a regression test for #6420 (noir-lang/noir#6421)
chore: Release Noir(0.37.0) (noir-lang/noir#6321)
chore: update variable names in stdlib tests to be more correct (noir-lang/noir#6419)
feat!: remove mimc from stdlib (noir-lang/noir#6402)
chore: Replace dead link with updated route in README (noir-lang/noir#6392)
feat(ci): Add report of Brillig opcodes executed (noir-lang/noir#6396)
feat: improve malformed test attribute error (noir-lang/noir#6414)
fix: aliases in path (noir-lang/noir#6399)
feat(profiler): Add Brillig procedure info to debug artifact for more informative profiling (noir-lang/noir#6385)
chore(lsp): Remove profile code lens (noir-lang/noir#6411)
chore(nargo): Remove old profile as part of info cmd (noir-lang/noir#6406)
fix: distinguish TypePath with and without turbofish (noir-lang/noir#6404)
fix: numeric generic doesn't have a default type (noir-lang/noir#6405)
feat: Sync from aztec-packages (noir-lang/noir#6403)
chore: add regression tests for #4372 (noir-lang/noir#6401)
chore: add regression tests for #6314 (noir-lang/noir#6381)
AztecBot pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Nov 2, 2024
…ang/noir#6413)

feat: ensure that generated ACIR is solvable (noir-lang/noir#6415)
fix: fix Alias and Error kinds (noir-lang/noir#6426)
fix: type-check turbofish in trait before function call (noir-lang/noir#6416)
chore: create a regression test for #6420 (noir-lang/noir#6421)
chore: Release Noir(0.37.0) (noir-lang/noir#6321)
chore: update variable names in stdlib tests to be more correct (noir-lang/noir#6419)
feat!: remove mimc from stdlib (noir-lang/noir#6402)
chore: Replace dead link with updated route in README (noir-lang/noir#6392)
feat(ci): Add report of Brillig opcodes executed (noir-lang/noir#6396)
feat: improve malformed test attribute error (noir-lang/noir#6414)
fix: aliases in path (noir-lang/noir#6399)
feat(profiler): Add Brillig procedure info to debug artifact for more informative profiling (noir-lang/noir#6385)
chore(lsp): Remove profile code lens (noir-lang/noir#6411)
chore(nargo): Remove old profile as part of info cmd (noir-lang/noir#6406)
fix: distinguish TypePath with and without turbofish (noir-lang/noir#6404)
fix: numeric generic doesn't have a default type (noir-lang/noir#6405)
feat: Sync from aztec-packages (noir-lang/noir#6403)
chore: add regression tests for #4372 (noir-lang/noir#6401)
chore: add regression tests for #6314 (noir-lang/noir#6381)
AztecBot pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Nov 2, 2024
feat: ensure that generated ACIR is solvable (noir-lang/noir#6415)
fix: fix Alias and Error kinds (noir-lang/noir#6426)
fix: type-check turbofish in trait before function call (noir-lang/noir#6416)
chore: create a regression test for #6420 (noir-lang/noir#6421)
chore: Release Noir(0.37.0) (noir-lang/noir#6321)
chore: update variable names in stdlib tests to be more correct (noir-lang/noir#6419)
feat!: remove mimc from stdlib (noir-lang/noir#6402)
chore: Replace dead link with updated route in README (noir-lang/noir#6392)
feat(ci): Add report of Brillig opcodes executed (noir-lang/noir#6396)
feat: improve malformed test attribute error (noir-lang/noir#6414)
fix: aliases in path (noir-lang/noir#6399)
feat(profiler): Add Brillig procedure info to debug artifact for more informative profiling (noir-lang/noir#6385)
chore(lsp): Remove profile code lens (noir-lang/noir#6411)
chore(nargo): Remove old profile as part of info cmd (noir-lang/noir#6406)
fix: distinguish TypePath with and without turbofish (noir-lang/noir#6404)
fix: numeric generic doesn't have a default type (noir-lang/noir#6405)
feat: Sync from aztec-packages (noir-lang/noir#6403)
chore: add regression tests for #4372 (noir-lang/noir#6401)
chore: add regression tests for #6314 (noir-lang/noir#6381)
AztecBot pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Nov 3, 2024
…ang/noir#6413)

feat: ensure that generated ACIR is solvable (noir-lang/noir#6415)
fix: fix Alias and Error kinds (noir-lang/noir#6426)
fix: type-check turbofish in trait before function call (noir-lang/noir#6416)
chore: create a regression test for #6420 (noir-lang/noir#6421)
chore: Release Noir(0.37.0) (noir-lang/noir#6321)
chore: update variable names in stdlib tests to be more correct (noir-lang/noir#6419)
feat!: remove mimc from stdlib (noir-lang/noir#6402)
chore: Replace dead link with updated route in README (noir-lang/noir#6392)
feat(ci): Add report of Brillig opcodes executed (noir-lang/noir#6396)
feat: improve malformed test attribute error (noir-lang/noir#6414)
fix: aliases in path (noir-lang/noir#6399)
feat(profiler): Add Brillig procedure info to debug artifact for more informative profiling (noir-lang/noir#6385)
chore(lsp): Remove profile code lens (noir-lang/noir#6411)
chore(nargo): Remove old profile as part of info cmd (noir-lang/noir#6406)
fix: distinguish TypePath with and without turbofish (noir-lang/noir#6404)
fix: numeric generic doesn't have a default type (noir-lang/noir#6405)
feat: Sync from aztec-packages (noir-lang/noir#6403)
chore: add regression tests for #4372 (noir-lang/noir#6401)
chore: add regression tests for #6314 (noir-lang/noir#6381)
AztecBot pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Nov 3, 2024
feat: ensure that generated ACIR is solvable (noir-lang/noir#6415)
fix: fix Alias and Error kinds (noir-lang/noir#6426)
fix: type-check turbofish in trait before function call (noir-lang/noir#6416)
chore: create a regression test for #6420 (noir-lang/noir#6421)
chore: Release Noir(0.37.0) (noir-lang/noir#6321)
chore: update variable names in stdlib tests to be more correct (noir-lang/noir#6419)
feat!: remove mimc from stdlib (noir-lang/noir#6402)
chore: Replace dead link with updated route in README (noir-lang/noir#6392)
feat(ci): Add report of Brillig opcodes executed (noir-lang/noir#6396)
feat: improve malformed test attribute error (noir-lang/noir#6414)
fix: aliases in path (noir-lang/noir#6399)
feat(profiler): Add Brillig procedure info to debug artifact for more informative profiling (noir-lang/noir#6385)
chore(lsp): Remove profile code lens (noir-lang/noir#6411)
chore(nargo): Remove old profile as part of info cmd (noir-lang/noir#6406)
fix: distinguish TypePath with and without turbofish (noir-lang/noir#6404)
fix: numeric generic doesn't have a default type (noir-lang/noir#6405)
feat: Sync from aztec-packages (noir-lang/noir#6403)
chore: add regression tests for #4372 (noir-lang/noir#6401)
chore: add regression tests for #6314 (noir-lang/noir#6381)
AztecBot pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Nov 4, 2024
…ang/noir#6413)

feat: ensure that generated ACIR is solvable (noir-lang/noir#6415)
fix: fix Alias and Error kinds (noir-lang/noir#6426)
fix: type-check turbofish in trait before function call (noir-lang/noir#6416)
chore: create a regression test for #6420 (noir-lang/noir#6421)
chore: Release Noir(0.37.0) (noir-lang/noir#6321)
chore: update variable names in stdlib tests to be more correct (noir-lang/noir#6419)
feat!: remove mimc from stdlib (noir-lang/noir#6402)
chore: Replace dead link with updated route in README (noir-lang/noir#6392)
feat(ci): Add report of Brillig opcodes executed (noir-lang/noir#6396)
feat: improve malformed test attribute error (noir-lang/noir#6414)
fix: aliases in path (noir-lang/noir#6399)
feat(profiler): Add Brillig procedure info to debug artifact for more informative profiling (noir-lang/noir#6385)
chore(lsp): Remove profile code lens (noir-lang/noir#6411)
chore(nargo): Remove old profile as part of info cmd (noir-lang/noir#6406)
fix: distinguish TypePath with and without turbofish (noir-lang/noir#6404)
fix: numeric generic doesn't have a default type (noir-lang/noir#6405)
feat: Sync from aztec-packages (noir-lang/noir#6403)
chore: add regression tests for #4372 (noir-lang/noir#6401)
chore: add regression tests for #6314 (noir-lang/noir#6381)
AztecBot pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Nov 4, 2024
feat: ensure that generated ACIR is solvable (noir-lang/noir#6415)
fix: fix Alias and Error kinds (noir-lang/noir#6426)
fix: type-check turbofish in trait before function call (noir-lang/noir#6416)
chore: create a regression test for #6420 (noir-lang/noir#6421)
chore: Release Noir(0.37.0) (noir-lang/noir#6321)
chore: update variable names in stdlib tests to be more correct (noir-lang/noir#6419)
feat!: remove mimc from stdlib (noir-lang/noir#6402)
chore: Replace dead link with updated route in README (noir-lang/noir#6392)
feat(ci): Add report of Brillig opcodes executed (noir-lang/noir#6396)
feat: improve malformed test attribute error (noir-lang/noir#6414)
fix: aliases in path (noir-lang/noir#6399)
feat(profiler): Add Brillig procedure info to debug artifact for more informative profiling (noir-lang/noir#6385)
chore(lsp): Remove profile code lens (noir-lang/noir#6411)
chore(nargo): Remove old profile as part of info cmd (noir-lang/noir#6406)
fix: distinguish TypePath with and without turbofish (noir-lang/noir#6404)
fix: numeric generic doesn't have a default type (noir-lang/noir#6405)
feat: Sync from aztec-packages (noir-lang/noir#6403)
chore: add regression tests for #4372 (noir-lang/noir#6401)
chore: add regression tests for #6314 (noir-lang/noir#6381)
AztecBot pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Nov 4, 2024
…ang/noir#6413)

feat: ensure that generated ACIR is solvable (noir-lang/noir#6415)
fix: fix Alias and Error kinds (noir-lang/noir#6426)
fix: type-check turbofish in trait before function call (noir-lang/noir#6416)
chore: create a regression test for #6420 (noir-lang/noir#6421)
chore: Release Noir(0.37.0) (noir-lang/noir#6321)
chore: update variable names in stdlib tests to be more correct (noir-lang/noir#6419)
feat!: remove mimc from stdlib (noir-lang/noir#6402)
chore: Replace dead link with updated route in README (noir-lang/noir#6392)
feat(ci): Add report of Brillig opcodes executed (noir-lang/noir#6396)
feat: improve malformed test attribute error (noir-lang/noir#6414)
fix: aliases in path (noir-lang/noir#6399)
feat(profiler): Add Brillig procedure info to debug artifact for more informative profiling (noir-lang/noir#6385)
chore(lsp): Remove profile code lens (noir-lang/noir#6411)
chore(nargo): Remove old profile as part of info cmd (noir-lang/noir#6406)
fix: distinguish TypePath with and without turbofish (noir-lang/noir#6404)
fix: numeric generic doesn't have a default type (noir-lang/noir#6405)
feat: Sync from aztec-packages (noir-lang/noir#6403)
chore: add regression tests for #4372 (noir-lang/noir#6401)
chore: add regression tests for #6314 (noir-lang/noir#6381)
TomAFrench added a commit to AztecProtocol/aztec-packages that referenced this pull request Nov 4, 2024
Automated pull of development from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
feat: nargo command to generate shell completions
(noir-lang/noir#6413)
feat: ensure that generated ACIR is solvable
(noir-lang/noir#6415)
fix: fix Alias and Error kinds
(noir-lang/noir#6426)
fix: type-check turbofish in trait before function call
(noir-lang/noir#6416)
chore: create a regression test for #6420
(noir-lang/noir#6421)
chore: Release Noir(0.37.0)
(noir-lang/noir#6321)
chore: update variable names in stdlib tests to be more correct
(noir-lang/noir#6419)
feat!: remove mimc from stdlib
(noir-lang/noir#6402)
chore: Replace dead link with updated route in README
(noir-lang/noir#6392)
feat(ci): Add report of Brillig opcodes executed
(noir-lang/noir#6396)
feat: improve malformed test attribute error
(noir-lang/noir#6414)
fix: aliases in path (noir-lang/noir#6399)
feat(profiler): Add Brillig procedure info to debug artifact for more
informative profiling (noir-lang/noir#6385)
chore(lsp): Remove profile code lens
(noir-lang/noir#6411)
chore(nargo): Remove old profile as part of info cmd
(noir-lang/noir#6406)
fix: distinguish TypePath with and without turbofish
(noir-lang/noir#6404)
fix: numeric generic doesn't have a default type
(noir-lang/noir#6405)
feat: Sync from aztec-packages
(noir-lang/noir#6403)
chore: add regression tests for #4372
(noir-lang/noir#6401)
chore: add regression tests for #6314
(noir-lang/noir#6381)
END_COMMIT_OVERRIDE

---------

Co-authored-by: Tom French <tom@tomfren.ch>
Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com>
AztecBot added a commit to AztecProtocol/aztec-nr that referenced this pull request Nov 5, 2024
Automated pull of development from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
feat: nargo command to generate shell completions
(noir-lang/noir#6413)
feat: ensure that generated ACIR is solvable
(noir-lang/noir#6415)
fix: fix Alias and Error kinds
(noir-lang/noir#6426)
fix: type-check turbofish in trait before function call
(noir-lang/noir#6416)
chore: create a regression test for #6420
(noir-lang/noir#6421)
chore: Release Noir(0.37.0)
(noir-lang/noir#6321)
chore: update variable names in stdlib tests to be more correct
(noir-lang/noir#6419)
feat!: remove mimc from stdlib
(noir-lang/noir#6402)
chore: Replace dead link with updated route in README
(noir-lang/noir#6392)
feat(ci): Add report of Brillig opcodes executed
(noir-lang/noir#6396)
feat: improve malformed test attribute error
(noir-lang/noir#6414)
fix: aliases in path (noir-lang/noir#6399)
feat(profiler): Add Brillig procedure info to debug artifact for more
informative profiling (noir-lang/noir#6385)
chore(lsp): Remove profile code lens
(noir-lang/noir#6411)
chore(nargo): Remove old profile as part of info cmd
(noir-lang/noir#6406)
fix: distinguish TypePath with and without turbofish
(noir-lang/noir#6404)
fix: numeric generic doesn't have a default type
(noir-lang/noir#6405)
feat: Sync from aztec-packages
(noir-lang/noir#6403)
chore: add regression tests for #4372
(noir-lang/noir#6401)
chore: add regression tests for #6314
(noir-lang/noir#6381)
END_COMMIT_OVERRIDE

---------

Co-authored-by: Tom French <tom@tomfren.ch>
Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add a check for circuit solvability at the end of compilation.

2 participants