'"dict" is not subscriptable' error when using a type alias for dict
in a .pyi
stub file, with Python <= 3.8
#11859
Labels
bug
mypy got something wrong
Bug Report
This error only occurs when mypy is run using Python <= 3.8. Here is a minimal reproducible example:
The following, however, do not cause an error in Python <= 3.8 in a
.pyi
stub file:Expected Behavior
In Python <= 3.8,
dict
is not subscriptable at runtime. However, it should be subscriptable in a.pyi
stub file, which does not need to ever be "run". Moreover, it is subscriptable in a.pyi
file if a type alias is not being used. The behaviour should be the same, whether or not you are using a type alias.Your Environment
This bug has been reproduced on MacOS, Ubuntu and Windows on Python 3.6, 3.7 and 3.8. The mypy version being used is 0.930.
Use case
I came across this bug in an early draft of python/typeshed#6717. As you can see, using this kind of syntax fails the typeshed CI for mypy, but not for any other type checker. (In this case, there was an easy workaround.)
The text was updated successfully, but these errors were encountered: