false error "Name "..." is not defined" when a valid symbol is used in a type position
Open
Nobody has claimed this yet.
bug
diagnostics
- Dominant language
- Python
- Stars
- 20.6k
- Forks
- 3.3k
- PR merge metrics
- PR metrics pending
Description
from typing import cast
class Test:
a: int
t = Test()
cast(t.a, int) # error: Name "t.a" is not defined
This leave me being like:

Till I realize that I got the args the wrong way around.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the supplied Python snippet with mypy and compare the diagnostic with the argument order used in cast. Trace the type-checking path for expressions used in a type position; done means establishing whether the diagnostic is incorrect and defining a focused regression case or closing the report as invalid.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- devtools
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100