Skip to content

Commit 2f406a9

Browse files
committed
fixup! add bound/variance parameters to TypeVarTuple
1 parent 7ece722 commit 2f406a9

1 file changed

Lines changed: 10 additions & 5 deletions

File tree

src/typing_extensions.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2571,10 +2571,10 @@ def _unpack_args(*args):
25712571
return newargs
25722572

25732573

2574-
if _PEP_696_IMPLEMENTED:
2574+
if sys.version_info < (3, 15):
25752575
from typing import TypeVarTuple
25762576

2577-
elif hasattr(typing, "TypeVarTuple"): # 3.11+
2577+
elif hasattr(typing, "TypeVarTuple"): # < 3.15
25782578

25792579
# Add default parameter - PEP 696 and bound/variance parameters
25802580
class TypeVarTuple(metaclass=_TypeVarLikeMeta):
@@ -2586,18 +2586,23 @@ def __new__(cls, name, *, bound=None,
25862586
covariant=False, contravariant=False,
25872587
infer_variance=False, default=NoDefault):
25882588
if sys.version_info >= (3, 15):
2589-
# can pass variance arguments to typing.TypeVar
2589+
# can pass variance and default arguments
25902590
tvt = typing.TypeVarTuple(name, bound=bound,
25912591
covariant=covariant,
25922592
contravariant=contravariant,
25932593
infer_variance=infer_variance,
25942594
default=default)
25952595
else:
2596-
tvt = typing.TypeVarTuple(name)
2596+
if _PEP_696_IMPLEMENTED:
2597+
# can pass default argument
2598+
tvt = typing.TypeVarTuple(name, default=default)
2599+
else:
2600+
tvt = typing.TypeVarTuple(name)
2601+
_set_default(tvt, default)
2602+
25972603
tvt.__covariant__ = covariant
25982604
tvt.__contravariant__ = contravariant
25992605
tvt.__infer_variance__ = infer_variance
2600-
_set_default(tvt, default)
26012606

26022607
_set_module(tvt)
26032608

0 commit comments

Comments
 (0)