diff --git a/rs_bindings_from_cc/generate_bindings/lib.rs b/rs_bindings_from_cc/generate_bindings/lib.rs index b6cbaa1c8..f3fd23c3c 100644 --- a/rs_bindings_from_cc/generate_bindings/lib.rs +++ b/rs_bindings_from_cc/generate_bindings/lib.rs @@ -1188,9 +1188,26 @@ fn crubit_abi_type(db: &BindingsGenerator, rs_type_kind: RsTypeKind) -> Result { + quote! { + &::c9::internal::rust::StartCoroutineFromRust + } + } + Some(result_type_crubit_abi_type) => { + let abi_expr_tokens = + CrubitAbiTypeToCppExprTokens(result_type_crubit_abi_type); + + quote! { + &::c9::internal::rust::StartCoroutineFromRust<[]() { return #abi_expr_tokens; }> + } + } + }; + quote! { + #cpp_type_tokens(#start_coroutine_fn_tokens) + } + }; Ok(CrubitAbiType::C9Co { rust_type_tokens,