Skip to content

Commit 5551aa7

Browse files
Refactor return type handling in prompt.rs
1 parent 4628720 commit 5551aa7

1 file changed

Lines changed: 10 additions & 2 deletions

File tree

crates/rmcp-macros/src/prompt.rs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,10 +138,18 @@ pub fn prompt(attr: TokenStream, input: TokenStream) -> syn::Result<TokenStream>
138138
}
139139
match &fn_item.sig.output {
140140
syn::ReturnType::Default => {
141-
quote! { -> ::std::pin::Pin<Box<dyn ::std::future::Future<Output = ()> + Send + #lt>> }
141+
if omit_send {
142+
quote! { -> ::std::pin::Pin<Box<dyn ::std::future::Future<Output = ()> + #lt>> }
143+
} else {
144+
quote! { -> ::std::pin::Pin<Box<dyn ::std::future::Future<Output = ()> + Send + #lt>> }
145+
}
142146
}
143147
syn::ReturnType::Type(_, ty) => {
144-
quote! { -> ::std::pin::Pin<Box<dyn ::std::future::Future<Output = #ty> + Send + #lt>> }
148+
if omit_send {
149+
quote! { -> ::std::pin::Pin<Box<dyn ::std::future::Future<Output = #ty> + #lt>> }
150+
} else {
151+
quote! { -> ::std::pin::Pin<Box<dyn ::std::future::Future<Output = #ty> + Send + #lt>> }
152+
}
145153
}
146154
}
147155
})?;

0 commit comments

Comments
 (0)