mirror of
https://github.com/python/cpython.git
synced 2025-07-16 15:55:18 +00:00
Fixing bug
[#448679] Left to right * Python/compile.c (com_dictmaker): Reordered evaluation of dictionaries to follow strict LTR evaluation. * Lib/compiler/pycodegen.py (CodeGenerator.visitDict): Reordered evaluation of dictionaries to follow strict LTR evaluation. * Doc/ref/ref5.tex Documented the general LTR evaluation order idea. * Misc/NEWS Documented change in evaluation order of dictionaries.
This commit is contained in:
parent
c389ec8d55
commit
78429a6aa6
4 changed files with 26 additions and 4 deletions
|
@ -1529,9 +1529,9 @@ com_dictmaker(struct compiling *c, node *n)
|
|||
It wants the stack to look like (value) (dict) (key) */
|
||||
com_addbyte(c, DUP_TOP);
|
||||
com_push(c, 1);
|
||||
com_node(c, CHILD(n, i+2)); /* value */
|
||||
com_addbyte(c, ROT_TWO);
|
||||
com_node(c, CHILD(n, i)); /* key */
|
||||
com_node(c, CHILD(n, i+2)); /* value */
|
||||
com_addbyte(c, ROT_THREE);
|
||||
com_addbyte(c, STORE_SUBSCR);
|
||||
com_pop(c, 3);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue