Type Error: “'types.GenericAlias' object is not …” after using [] instead of () on a container type
- typo
- generic
- annotations
As of Python 3.9 / PEP 585 the builtin containers are type hint generics. For example, list[str]
is the annotation for “a list of strings”.
Typos mixing up idexing []
and calling ()
no longer fail, but create a types.GenericAlias
. This leads to obscure error Type Error: “'types.GenericAlias' object is not ...”
when the result is used.
>>> values = list[range(5)] # typo is here
>>> for value in values: # error occurs here
... print(value)