Skip to content

Conversation

@mrahtz
Copy link
Contributor

In #91162, we decided that it should be valid to do

T=TypeVar('T') Ts=TypeVarTuple('Ts') Alias=tuple[T, *Ts] Alias[*tuple[int, ...]]

and that the result should be tuple[int, *tuple[int, ...]].

This PR does the first half of the work necessary to enable this: the changes necessary in typing.py. The second half will be the equivalent machinery in genericaliasobject.c, but I'll do that in a separate PR, since I guess different people will want to review it.

@AlexWaygood
Copy link
Member

(I think this probably does need a news entry, FWIW, since it wasn't in beta 1, and I assume we'll be backporting.)

@mrahtz
Copy link
ContributorAuthor

I've just realised; TODO @mrahtz What happens if there's more than one unpacked arbitrary-length tuple in the args list?

@mrahtz
Copy link
ContributorAuthor

I've just realised; TODO @mrahtz What happens if there's more than one unpacked arbitrary-length tuple in the args list?

Thanks past me! Added a test for this situation.

@mrahtz
Copy link
ContributorAuthor

Closing in favour of Serhiy's: #93330

@mrahtzmrahtz closed this May 29, 2022
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@mrahtz@AlexWaygood@bedevere-bot