Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.
Sign upbpo-39320: Fix changes in the evaluation logic of unpacking operations. #18264
+2,235
−2,202
Conversation
This comment has been minimized.
This comment has been minimized.
codecov
bot
commented
Jan 30, 2020
Codecov Report
@@ Coverage Diff @@
## master #18264 +/- ##
===========================================
+ Coverage 82.12% 83.19% +1.07%
===========================================
Files 1955 1570 -385
Lines 588723 414212 -174511
Branches 44383 44401 +18
===========================================
- Hits 483465 344607 -138858
+ Misses 95630 59966 -35664
- Partials 9628 9639 +11
Continue to review full report at Codecov.
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
brandtbucher commentedJan 30, 2020
•
edited
Commits 13bc139 and 8a4cd70 introduced subtle changes in the evaluation logic of unpacking operations. Previously, all elements were evaluated prior to being collected in a container. Now, these operations are interleaved.
For example, the code
[*foo, print("XXX")]
used to print "XXX" before callingfoo.__iter__
. This is no longer the case.I've included several similar regression tests in this PR. @markshannon, your intuition about keeping the opargs for the
DICT_UPDATE
/DICT_MERGE
ops was good.https://bugs.python.org/issue39320