FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

gh-91162: Implement splitting of *tuple[int, ...] over `T, *Ts` in typing.py by mrahtz · Pull Request #93318 · python/cpython · GitHub

/ cpython Public

gh-91162: Implement splitting of *tuple[int, ...] over T, *Ts in typing.py - #93318

Closed
mrahtz wants to merge 4 commits into
python:mainfrom
mrahtz:fix-split-tuple
Closed

gh-91162: Implement splitting of *tuple[int, ...] over T, *Ts in typing.py#93318
mrahtz wants to merge 4 commits into
python:mainfrom
mrahtz:fix-split-tuple

Conversation

mrahtz commented May 28, 2022

Copy link
Copy Markdown
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.

Copy link
Copy Markdown
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 commented May 28, 2022

Copy link
Copy Markdown
Contributor Author

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

mrahtz commented May 28, 2022

Copy link
Copy Markdown
Contributor Author

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 commented May 29, 2022

Copy link
Copy Markdown
Contributor Author

Closing in favour of Serhiy's: #93330

mrahtz closed this May 29, 2022
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for free to 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


Back | FazBrowse Home | New Git URL