gh-96385: Correctly raise error on [*T, *V] substitution (GH-96386)

This commit is contained in:
Nikita Sobolev 2022-08-30 10:34:55 +03:00 committed by GitHub
parent d21d2f0793
commit 75177358a6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 7 additions and 1 deletions

View file

@ -596,6 +596,7 @@ class GenericAliasSubstitutionTests(BaseTestCase):
def test_one_parameter(self):
T = TypeVar('T')
Ts = TypeVarTuple('Ts')
Ts2 = TypeVarTuple('Ts2')
class C(Generic[T]): pass
@ -621,6 +622,8 @@ class GenericAliasSubstitutionTests(BaseTestCase):
# Should definitely raise TypeError: list only takes one argument.
('list[T, *tuple_type[int, ...]]', '[int]', 'list[int, *tuple_type[int, ...]]'),
('List[T, *tuple_type[int, ...]]', '[int]', 'TypeError'),
# Should raise, because more than one `TypeVarTuple` is not supported.
('generic[*Ts, *Ts2]', '[int]', 'TypeError'),
]
for alias_template, args_template, expected_template in tests: