Index: Python/compile.c =================================================================== --- Python/compile.c (revision 88415) +++ Python/compile.c (working copy) @@ -3004,10 +3004,12 @@ n = asdl_seq_LEN(e->v.Dict.values); ADDOP_I(c, BUILD_MAP, (n>0xFFFF ? 0xFFFF : n)); for (i = 0; i < n; i++) { + /* Order is important keys must be evaluated before values, + per ref manual. */ VISIT(c, expr, + (expr_ty)asdl_seq_GET(e->v.Dict.keys, i)); + VISIT(c, expr, (expr_ty)asdl_seq_GET(e->v.Dict.values, i)); - VISIT(c, expr, - (expr_ty)asdl_seq_GET(e->v.Dict.keys, i)); ADDOP(c, STORE_MAP); } break;