Skip to content
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: aliases in path #6399

Merged
merged 5 commits into from
Oct 30, 2024
Merged

fix: aliases in path #6399

merged 5 commits into from
Oct 30, 2024

Conversation

asterite
Copy link
Collaborator

@asterite asterite commented Oct 30, 2024

Description

Problem

Resolves #4469
Resolves #6311

Summary

This PR enables two things:

  1. Using type aliases in paths
  2. Also allowing turbofish on those aliases

The caveat is that this only works (for now) for aliases that point to a struct (I captured a follow-up issue here: #6398). Making it work for other types is a bit tricky, and will likely require finally rewriting the path lookup logic (it should probably be embedded in Elaborator). But I'd like to do that as a separate PR.

Additional Context

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.

@asterite asterite requested a review from a team October 30, 2024 11:39
Copy link
Contributor

@jfecher jfecher left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. We should finally be able to create a type alias for HashMap now to specify a default hasher

@asterite asterite added this pull request to the merge queue Oct 30, 2024
Merged via the queue into master with commit be882f1 Oct 30, 2024
49 checks passed
@asterite asterite deleted the ab/turbofish-in-alias-before-method branch October 30, 2024 20:17
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Oct 31, 2024
…ng/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 added a commit to AztecProtocol/aztec-packages that referenced this pull request Nov 1, 2024
…oir-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 added a commit to AztecProtocol/aztec-packages that referenced this pull request Nov 1, 2024
…ir#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 added 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 added 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 added 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 added 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 added 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 added 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 added 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 added 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 added 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.

Enable turbofish for aliases Cannot use type aliases of structs in paths
2 participants