@@ -746,10 +746,11 @@ codegen_setup_annotations_scope(compiler *c, location loc,
746746}
747747
748748static int
749- codegen_leave_annotations_scope (compiler * c , location loc )
749+ codegen_finish_annotations_scope (compiler * c , location loc )
750750{
751751 ADDOP_IN_SCOPE (c , loc , RETURN_VALUE );
752752 PyCodeObject * co = _PyCompile_OptimizeAndAssemble (c , 1 );
753+ _PyCompile_ExitScope (c );
753754 if (co == NULL ) {
754755 return ERROR ;
755756 }
@@ -783,7 +784,6 @@ codegen_leave_annotations_scope(compiler *c, location loc)
783784 }
784785 Py_SETREF (co -> co_localsplusnames , new_names );
785786
786- _PyCompile_ExitScope (c );
787787 int ret = codegen_make_closure (c , loc , co , 0 );
788788 Py_DECREF (co );
789789 RETURN_IF_ERROR (ret );
@@ -886,7 +886,7 @@ codegen_process_deferred_annotations(compiler *c, location loc)
886886 Py_DECREF (deferred_anno );
887887 Py_DECREF (conditional_annotation_indices );
888888
889- RETURN_IF_ERROR (codegen_leave_annotations_scope (c , loc ));
889+ RETURN_IF_ERROR (codegen_finish_annotations_scope (c , loc ));
890890 RETURN_IF_ERROR (codegen_nameop (
891891 c , loc ,
892892 ste -> ste_type == ClassBlock ? & _Py_ID (__annotate_func__ ) : & _Py_ID (__annotate__ ),
@@ -1192,7 +1192,7 @@ codegen_function_annotations(compiler *c, location loc,
11921192 c , codegen_annotations_in_scope (c , loc , args , returns , & annotations_len )
11931193 );
11941194 ADDOP_I_IN_SCOPE (c , loc , BUILD_MAP , annotations_len );
1195- RETURN_IF_ERROR (codegen_leave_annotations_scope (c , loc ));
1195+ RETURN_IF_ERROR (codegen_finish_annotations_scope (c , loc ));
11961196 return MAKE_FUNCTION_ANNOTATE ;
11971197 }
11981198 else {
0 commit comments