@@ -71,7 +71,12 @@ STATIC mp_obj_t gen_wrap_call(mp_obj_t self_in, size_t n_args, size_t n_kw, cons
7171 // allocate the generator or coroutine object, with room for local stack and exception stack
7272 mp_obj_gen_instance_t * o = mp_obj_malloc_var (mp_obj_gen_instance_t , byte ,
7373 n_state * sizeof (mp_obj_t ) + n_exc_stack * sizeof (mp_exc_stack_t ),
74- self_fun -> base .type == & mp_type_gen_wrap ? & mp_type_gen_instance : & mp_type_coro_instance );
74+ #if MICROPY_PY_ASYNC_AWAIT
75+ self_fun -> base .type == & mp_type_gen_wrap ? & mp_type_gen_instance : & mp_type_coro_instance
76+ #else
77+ & mp_type_gen_instance
78+ #endif
79+ );
7580
7681 o -> pend_exc = mp_const_none ;
7782 o -> code_state .fun_bc = self_fun ;
@@ -198,8 +203,11 @@ mp_vm_return_kind_t mp_obj_gen_resume(mp_obj_t self_in, mp_obj_t send_value, mp_
198203 // note that self may have as its type either gen or coro,
199204 // both of which are stored as an mp_obj_gen_instance_t .
200205 mp_check_self (
201- mp_obj_is_type (self_in , & mp_type_gen_instance ) ||
202- mp_obj_is_type (self_in , & mp_type_coro_instance ));
206+ mp_obj_is_type (self_in , & mp_type_gen_instance )
207+ #if MICROPY_PY_ASYNC_AWAIT
208+ || mp_obj_is_type (self_in , & mp_type_coro_instance )
209+ #endif
210+ );
203211 mp_obj_gen_instance_t * self = MP_OBJ_TO_PTR (self_in );
204212 if (self -> code_state .ip == 0 ) {
205213 // Trying to resume an already stopped generator.
0 commit comments