-
-
Notifications
You must be signed in to change notification settings - Fork 31.6k
Handle unpacking of */** arguments and rvalues in the compiler #83501
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Currently the unpacking of starred values in arguments and the right hand side of assignments is handled in the interpreter without any help from the compiler. We can replace the complex bytecodes used in unpacking with simpler more focused ones. In addition, the mapping operations DICT_MERGE is like DICT_UPDATE but raises an exception for duplicate keys. This change would not have much of an effect of performance, as the bytecodes listed are relatively rarely used, but shrinking the interpreter is always beneficial. |
These changes introduced a regression: bpo-41531 "Python 3.9 regression: Literal dict with > 65535 items are one item shorter". |
Does this count as a regression or as an unintended bugfix for evaluation order? |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: