Allow using imported types in other types within the same file #8708
+28
−1
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.
In the test case (from issue #7116) both the type definition and the import of the typed lived in the same file. This caused
OpeningTypes
to be anInlineTypeAlias
instead of aLinkableTypeAlias
, in turn causing an 'Invalid type alias' exception1By replacing the array union (+) with an array_merge, the import of the type overrides the initial type declaration within the
Main
class. This means type imports within one file act more like they would when in separate files.Fixes #7116
Footnotes
src/Psalm/Type/Atomic.php:407 ↩