-
Notifications
You must be signed in to change notification settings - Fork 226
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
feat(LSP): auto-import trait reexport if trait is not visible #7079
Merged
+355
−57
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Execution Report
|
Compilation Report
|
Execution Memory Report
|
Compilation Memory Report
|
TomAFrench
approved these changes
Jan 16, 2025
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.
LGTM
AztecBot
added a commit
to AztecProtocol/aztec-packages
that referenced
this pull request
Jan 16, 2025
feat: add `ConstrainNotEqual` instruction (noir-lang/noir#7032) feat!: `loop` statements (only frontend) (noir-lang/noir#7092) fix!: Include kind in `StructDefinition::generics` and fix derivation of Eq in structs with numeric generics (noir-lang/noir#7076) chore: add test for isuee #7090 (noir-lang/noir#7091) chore: mark `noir-edwards` as expected to compile (noir-lang/noir#7085) chore: allow passing custom conditions to inlining pass (noir-lang/noir#7083) feat(LSP): auto-import trait reexport if trait is not visible (noir-lang/noir#7079) fix: Allow implicit associated types on integer type kinds (noir-lang/noir#7078) feat(ssa): Treat globals as constant in a function's DFG (noir-lang/noir#7040) chore: Do not make new instruction if it hasn't changed (noir-lang/noir#7069) fix: do not remove memory blocks used as brillig input (noir-lang/noir#7073)
AztecBot
added a commit
to AztecProtocol/aztec-packages
that referenced
this pull request
Jan 16, 2025
feat: add `ConstrainNotEqual` instruction (noir-lang/noir#7032) feat!: `loop` statements (only frontend) (noir-lang/noir#7092) fix!: Include kind in `StructDefinition::generics` and fix derivation of Eq in structs with numeric generics (noir-lang/noir#7076) chore: add test for isuee #7090 (noir-lang/noir#7091) chore: mark `noir-edwards` as expected to compile (noir-lang/noir#7085) chore: allow passing custom conditions to inlining pass (noir-lang/noir#7083) feat(LSP): auto-import trait reexport if trait is not visible (noir-lang/noir#7079) fix: Allow implicit associated types on integer type kinds (noir-lang/noir#7078) feat(ssa): Treat globals as constant in a function's DFG (noir-lang/noir#7040) chore: Do not make new instruction if it hasn't changed (noir-lang/noir#7069) fix: do not remove memory blocks used as brillig input (noir-lang/noir#7073)
AztecBot
added a commit
to AztecProtocol/aztec-packages
that referenced
this pull request
Jan 16, 2025
feat: add `ConstrainNotEqual` instruction (noir-lang/noir#7032) feat!: `loop` statements (only frontend) (noir-lang/noir#7092) fix!: Include kind in `StructDefinition::generics` and fix derivation of Eq in structs with numeric generics (noir-lang/noir#7076) chore: add test for isuee #7090 (noir-lang/noir#7091) chore: mark `noir-edwards` as expected to compile (noir-lang/noir#7085) chore: allow passing custom conditions to inlining pass (noir-lang/noir#7083) feat(LSP): auto-import trait reexport if trait is not visible (noir-lang/noir#7079) fix: Allow implicit associated types on integer type kinds (noir-lang/noir#7078) feat(ssa): Treat globals as constant in a function's DFG (noir-lang/noir#7040) chore: Do not make new instruction if it hasn't changed (noir-lang/noir#7069) fix: do not remove memory blocks used as brillig input (noir-lang/noir#7073)
TomAFrench
added a commit
to AztecProtocol/aztec-packages
that referenced
this pull request
Jan 17, 2025
Automated pull of development from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE chore: add regression test for #6530 (noir-lang/noir#7089) feat: add `ConstrainNotEqual` instruction (noir-lang/noir#7032) feat!: `loop` statements (only frontend) (noir-lang/noir#7092) fix!: Include kind in `StructDefinition::generics` and fix derivation of Eq in structs with numeric generics (noir-lang/noir#7076) chore: add test for isuee #7090 (noir-lang/noir#7091) chore: mark `noir-edwards` as expected to compile (noir-lang/noir#7085) chore: allow passing custom conditions to inlining pass (noir-lang/noir#7083) feat(LSP): auto-import trait reexport if trait is not visible (noir-lang/noir#7079) fix: Allow implicit associated types on integer type kinds (noir-lang/noir#7078) feat(ssa): Treat globals as constant in a function's DFG (noir-lang/noir#7040) chore: Do not make new instruction if it hasn't changed (noir-lang/noir#7069) fix: do not remove memory blocks used as brillig input (noir-lang/noir#7073) END_COMMIT_OVERRIDE --------- Co-authored-by: Tom French <[email protected]>
rahul-kothari
pushed a commit
to AztecProtocol/aztec-packages
that referenced
this pull request
Jan 17, 2025
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.71.0</summary> ## [0.71.0](aztec-package-v0.70.0...aztec-package-v0.71.0) (2025-01-17) ### Features * Track block building helpers ([#11190](#11190)) ([a749dc1](a749dc1)), closes [#11184](#11184) </details> <details><summary>barretenberg.js: 0.71.0</summary> ## [0.71.0](barretenberg.js-v0.70.0...barretenberg.js-v0.71.0) (2025-01-17) ### Miscellaneous * **barretenberg.js:** Synchronize aztec-packages versions </details> <details><summary>aztec-packages: 0.71.0</summary> ## [0.71.0](aztec-packages-v0.70.0...aztec-packages-v0.71.0) (2025-01-17) ### ⚠ BREAKING CHANGES * `loop` statements (only frontend) (noir-lang/noir#7092) * Include kind in `StructDefinition::generics` and fix derivation of Eq in structs with numeric generics (noir-lang/noir#7076) * Attestation collection times out based on sequencer timetable ([#11248](#11248)) ### Features * `loop` statements (only frontend) (noir-lang/noir#7092) ([a964cd0](a964cd0)) * Add `ConstrainNotEqual` instruction (noir-lang/noir#7032) ([a964cd0](a964cd0)) * Archive public testnet tx data ([#11192](#11192)) ([66f2014](66f2014)) * Backup proof failures to google cloud storage ([#11255](#11255)) ([b4775fd](b4775fd)), closes [#11062](#11062) * **docs:** Algolia->typesense ([#11034](#11034)) ([d254f49](d254f49)) * Improve PXE contract DB capabilities ([#11303](#11303)) ([fab5570](fab5570)) * **LSP:** Auto-import trait reexport if trait is not visible (noir-lang/noir#7079) ([a964cd0](a964cd0)) * Process note logs in aztec-nr ([#10651](#10651)) ([708139d](708139d)) * Reenable constrained config for roots ([#10605](#10605)) ([a6ebc2e](a6ebc2e)) * **spartan:** Add extra accounts ([#11300](#11300)) ([7782836](7782836)) * **ssa:** Treat globals as constant in a function's DFG (noir-lang/noir#7040) ([a964cd0](a964cd0)) * Track block building helpers ([#11190](#11190)) ([a749dc1](a749dc1)), closes [#11184](#11184) ### Bug Fixes * Allow implicit associated types on integer type kinds (noir-lang/noir#7078) ([a964cd0](a964cd0)) * Do not remove memory blocks used as brillig input (noir-lang/noir#7073) ([a964cd0](a964cd0)) * Ensure 'docker info' works before preceding ([#11286](#11286)) ([0b0e81a](0b0e81a)) * Fail in proxy deployment should fail the step ([#11308](#11308)) ([b780d75](b780d75)) * Faster polling times for archiver and sequencer ([#11262](#11262)) ([d70511e](d70511e)) * Https://github.com/AztecProtocol/aztec-packages/issues/8939 ([66f2014](66f2014)) * Idempotent deploy-l1-contracts with initial validators ([#11284](#11284)) ([3a3f9c0](3a3f9c0)), closes [#11283](#11283) * Include kind in `StructDefinition::generics` and fix derivation of Eq in structs with numeric generics (noir-lang/noir#7076) ([a964cd0](a964cd0)) * Legacy runner start ([#11291](#11291)) ([0b2a619](0b2a619)) * Reallocate commitment key to avoid pippenger error ([#11249](#11249)) ([8fc2011](8fc2011)) * References to a3 in docs ([#11256](#11256)) ([caf88fa](caf88fa)) * Remove bb path override in cli-wallet ([#11280](#11280)) ([a6a226e](a6a226e)) * Resolve misc bugs handling phases in avm witgen ([#11218](#11218)) ([29bc4bd](29bc4bd)) * Sequencer timetable accounts for spare time ([#11221](#11221)) ([f1b9211](f1b9211)) * Validator ignores block limits during reexec ([#11288](#11288)) ([920a521](920a521)) ### Miscellaneous * Add circuit input checks to bootstrap.sh ([#11261](#11261)) ([a718b15](a718b15)) * Add regression test for [#6530](#6530) (noir-lang/noir#7089) ([a964cd0](a964cd0)) * Add test for isuee [#7090](#7090) (noir-lang/noir#7091) ([a964cd0](a964cd0)) * Allow passing custom conditions to inlining pass (noir-lang/noir#7083) ([a964cd0](a964cd0)) * Attestation collection times out based on sequencer timetable ([#11248](#11248)) ([946a418](946a418)) * **avm:** Calldata, returndata slices out of range padded with zeros ([#11265](#11265)) ([a469c94](a469c94)), closes [#10933](#10933) * Delete external-ci-approved.yml ([#11258](#11258)) ([642bce6](642bce6)) * Demote error closing forks to warn ([#11263](#11263)) ([a5b7a6a](a5b7a6a)) * Do not make new instruction if it hasn't changed (noir-lang/noir#7069) ([a964cd0](a964cd0)) * Ensure devnet has unproven config ([#11302](#11302)) ([085f782](085f782)) * Fixing `[@safety](https://github.com/safety)` warnings ([#11094](#11094)) ([5de24e0](5de24e0)) * Log correlation in traces in google cloud ([#11276](#11276)) ([fbcc8ef](fbcc8ef)), closes [#11019](#11019) [#10937](#10937) * Mark `noir-edwards` as expected to compile (noir-lang/noir#7085) ([a964cd0](a964cd0)) * Move shared pcs functionality to internal library in solidity and small refactorings in sumcheck ([#11230](#11230)) ([507ae9d](507ae9d)) * Reduce the number of provers in rc-1 ([#11296](#11296)) ([92e40ff](92e40ff)) * Remove references to padding txs ([#11264](#11264)) ([32408f6](32408f6)) * Remove warnings from types and rollup lib crates ([#11269](#11269)) ([9f389a7](9f389a7)) * Replace relative paths to noir-protocol-circuits ([8ece166](8ece166)) * Replace relative paths to noir-protocol-circuits ([be42305](be42305)) * Retry deploys ([#11252](#11252)) ([23cfbb4](23cfbb4)) * Set failed proof store for spartan deployments ([#11282](#11282)) ([f787a52](f787a52)) * Silence "Updated proven chain" log ([#11250](#11250)) ([44bd79b](44bd79b)) * Silence circuit return values in CI ([#11259](#11259)) ([db3d860](db3d860)) * Stable masternet images ([#11289](#11289)) ([07fabe8](07fabe8)) </details> <details><summary>barretenberg: 0.71.0</summary> ## [0.71.0](barretenberg-v0.70.0...barretenberg-v0.71.0) (2025-01-17) ### Bug Fixes * Reallocate commitment key to avoid pippenger error ([#11249](#11249)) ([8fc2011](8fc2011)) * Resolve misc bugs handling phases in avm witgen ([#11218](#11218)) ([29bc4bd](29bc4bd)) ### Miscellaneous * **avm:** Calldata, returndata slices out of range padded with zeros ([#11265](#11265)) ([a469c94](a469c94)), closes [#10933](#10933) * Move shared pcs functionality to internal library in solidity and small refactorings in sumcheck ([#11230](#11230)) ([507ae9d](507ae9d)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Problem
Part of #6956
Summary
A trait might be private in a module but publicly reexported from a parent module. That trait can be used but referring to it via the module it's in, rather than the module it's reexported from, is an error.
This PR makes LSP suggest a visible reexport if a trait is not visible where it's defined. For example, there's
std::ops::arith::Add
in the standard library, which is actually hidden but reexported asstd::ops::Add
. Here's how it works now when autocompletingadd
:And the same thing is done in the code action that suggests importing a trait:
Additional Context
Rust Analyzer works the same way. I initially thought we could hardcode it just for the stdlib ops, but Rust Analyzer managed to do it with any traits I defined so I figured they track reexports and suggest those.
Documentation
Check one:
PR Checklist
cargo fmt
on default settings.