@@ -2887,7 +2887,7 @@ STATIC void compile_scope_comp_iter(compiler_t *comp, mp_parse_node_struct_t *pn
28872887 EMIT (yield_value );
28882888 EMIT (pop_top );
28892889 } else {
2890- EMIT_ARG (store_comp , comp -> scope_cur -> kind , for_depth + 2 );
2890+ EMIT_ARG (store_comp , comp -> scope_cur -> kind , 5 * for_depth + 6 );
28912891 }
28922892 } else if (MP_PARSE_NODE_IS_STRUCT_KIND (pn_iter , PN_comp_if )) {
28932893 // if condition
@@ -2900,13 +2900,13 @@ STATIC void compile_scope_comp_iter(compiler_t *comp, mp_parse_node_struct_t *pn
29002900 // for loop
29012901 mp_parse_node_struct_t * pns_comp_for2 = (mp_parse_node_struct_t * )pn_iter ;
29022902 compile_node (comp , pns_comp_for2 -> nodes [1 ]);
2903- EMIT_ARG (get_iter , false );
2903+ EMIT_ARG (get_iter , true );
29042904 compile_scope_comp_iter (comp , pns_comp_for2 , pn_inner_expr , for_depth + 1 );
29052905 }
29062906
29072907 EMIT_ARG (jump , l_top );
29082908 EMIT_ARG (label_assign , l_end );
2909- EMIT_ARG (for_iter_end , false );
2909+ EMIT_ARG (for_iter_end , true );
29102910}
29112911
29122912STATIC void check_for_doc_string (compiler_t * comp , mp_parse_node_t pn ) {
@@ -3070,6 +3070,12 @@ STATIC void compile_scope(compiler_t *comp, scope_t *scope, pass_kind_t pass) {
30703070 #endif
30713071 }
30723072
3073+ // dummy 4 objects
3074+ EMIT (load_null );
3075+ EMIT (load_null );
3076+ EMIT (load_null );
3077+ EMIT (load_null );
3078+
30733079 compile_load_id (comp , qstr_arg );
30743080 compile_scope_comp_iter (comp , pns_comp_for , pns -> nodes [0 ], 0 );
30753081
0 commit comments