Lift implementation-only import checking into a request #31872
Merged
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.
This diagnostic logic is currently called from
finishTypeChecking
, however it doesn't need to be delayed until after all the source files have been type-checked, only after they have all had their imports resolved.It can therefore be lifted into a request that operates on a
ModuleDecl
, and be called fromTypeCheckSourceFileRequest
. Being a request will ensure that the pass is only run once across the module.Eventually we'll probably want to re-do import resolution such that it operates on an entire module. At that point, we'll want to look at integrating this diagnostic logic into it.