You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Before TypeVarTuple support was megred, this is what happened when Tuple[...] was used:
Python 3.10.0 (default, Nov 1 2021, 10:24:06) [Clang 11.0.0 (clang-1100.0.33.16)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from typing import Tuple
>>> Tuple[...]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/sobolev/.pyenv/versions/3.10.0/lib/python3.10/typing.py", line 309, in inner
return func(*args, **kwds)
File "/Users/sobolev/.pyenv/versions/3.10.0/lib/python3.10/typing.py", line 1210, in __getitem__
params = tuple(_type_check(p, msg) for p in params)
File "/Users/sobolev/.pyenv/versions/3.10.0/lib/python3.10/typing.py", line 1210, in <genexpr>
params = tuple(_type_check(p, msg) for p in params)
File "/Users/sobolev/.pyenv/versions/3.10.0/lib/python3.10/typing.py", line 173, in _type_check
raise TypeError(f"{msg} Got {arg!r:.100}.")
TypeError: Tuple[t0, t1, ...]: each t must be a type. Got Ellipsis.
Since 3.11 it is allowed:
Python 3.12.0a0 (heads/main-dirty:a36235d5c7, Sep 11 2022, 12:23:24) [Clang 11.0.0 (clang-1100.0.33.16)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from typing import Tuple
>>> Tuple[...]
typing.Tuple[...]
What should we do?
Keep this as-is, provide a test that this is allowed (I don't know why anyone would use tuple[...])
Make sure that it is still an error with newer version: fix regression and add a test case
Thanks for digging that up. This is an intentional change to make the runtime type system more flexible and less opinionated, so that it is easier to evolve it in the future.
Before
TypeVarTuple
support was megred, this is what happened whenTuple[...]
was used:Since
3.11
it is allowed:What should we do?
tuple[...]
)In both case I would like to send a PR :)
Related:
CC @JelleZijlstra and @Fidget-Spinner
The text was updated successfully, but these errors were encountered: