Skip to content

"Invalid type" when using type alias in import cycle #4498

Description

@JukkaL

Type checking the following files results in an unexpected "Invalid type" error:

t.py:

MYPY=FalseifMYPY:
fromt2importAx: A# Invalid type "t2.A" <---- unexpected

t2.py:

importtfromtypingimportCallableA=Callable[[], None]

The reason for the error is that t and t2 form an import cycle and t is processed before t2 in the cycle, and thus the type alias A hasn't been processed when we analyze t.

This is probably the same bug as #4442, but for users this may not be obvious, so it perhaps makes maintain a separate issue.

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions