PEP 646: Explain the results of the new grammar/compiler change #2189
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
@pradeep90 @gvanrossum @stroxler
I'm still not entirely sure that having the compiler emit the equivalent of
next(iter(Ts))
for*args: *Ts
is the best solution. The alternatives I can think of are:[*Ts][0]
(uglier, but the bytecode ends up being a little simpler)Ts._unpacked
(less ugly, but less consistent with other uses of the star operator)Having said that, I also think
next(iter(Ts))
is Good Enough (tm) - and in the first place (I think?) it's not too critical an issue because it's an implementation detail. So happy to discuss this, but also happy not to discuss this :)