Skip to content

Commit c3d98c6

Browse files
committed
Removed parameter checking from TypeAliasType._check_parameter
1 parent b3e6b7a commit c3d98c6

File tree

1 file changed

+6
-12
lines changed

1 file changed

+6
-12
lines changed

src/typing_extensions.py

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3541,19 +3541,19 @@ def __getitem__(self, parameters):
35413541
alias.__type_params__ = self.__type_params__
35423542
return alias
35433543
else:
3544-
def _check_parameter(self, item, typ=_marker):
3544+
def _check_parameter(self, item, recursion=0):
35453545
# Allow [], [int], [int, str], [int, ...], [int, T]
35463546
if isinstance(item, (_UnpackAlias, _ConcatenateGenericAlias)):
35473547
# Unpack
35483548
yield from [checked
35493549
for arg in item.__args__
3550-
for checked in self._check_parameter(arg)]
3550+
for checked in self._check_parameter(arg, recursion+1)]
35513551
elif item is ...:
35523552
yield ...
3553-
elif isinstance(item, list) and typ is not _marker:
3553+
elif isinstance(item, list) and recursion == 0:
35543554
yield [checked
35553555
for arg in item
3556-
for checked in self._check_parameter(arg)]
3556+
for checked in self._check_parameter(arg, recursion+1)]
35573557
else:
35583558
yield typing._type_check(
35593559
item, f'Subscripting {self.__name__} requires a type.'
@@ -3562,16 +3562,10 @@ def _check_parameter(self, item, typ=_marker):
35623562
def __getitem__(self, parameters):
35633563
if not isinstance(parameters, tuple):
35643564
parameters = (parameters,)
3565-
param_difference = (len(parameters) - len(self.__type_params__))
3566-
if param_difference > 0:
3567-
# invalid case that does not raise an error, fill with dummys
3568-
type_params = [*self.__type_params__, *[Any] * param_difference]
3569-
else:
3570-
type_params = self.__type_params__
35713565
parameters = [
35723566
checked
3573-
for item, typ in zip(parameters, type_params)
3574-
for checked in self._check_parameter(item, typ)
3567+
for item in parameters
3568+
for checked in self._check_parameter(item)
35753569
]
35763570
if sys.version_info[:2] == (3, 10):
35773571
alias = typing._GenericAlias(self, tuple(parameters),

0 commit comments

Comments
 (0)