Compare commits

...

2 Commits

Author SHA1 Message Date
autofix-ci[bot]
c4826d27b5 [autofix.ci] apply automated fixes 2024-12-06 02:17:37 +00:00
Greg Johnston
92c6a2a89e fix: correctly support !Send Actix APIs in server functions 2024-12-05 21:07:44 -05:00
2 changed files with 15 additions and 1 deletions

2
Cargo.lock generated
View File

@@ -918,7 +918,7 @@ checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
[[package]]
name = "either_of"
version = "0.1.0"
version = "0.1.1"
dependencies = [
"pin-project-lite",
]

View File

@@ -188,6 +188,20 @@ pub fn server_macro_impl(
})
.collect::<Result<Vec<_>>>()?;
// we need to apply the same sort of Actix SendWrapper workaround here
// that we do for the body of the function provided in the trait (see below)
if cfg!(feature = "actix") {
let block = body.block.to_token_stream();
body.block = quote! {
{
#server_fn_path::actix::SendWrapper::new(async move {
#block
})
.await
}
};
}
let dummy = body.to_dummy_output();
let dummy_name = body.to_dummy_ident();
let args = syn::parse::<ServerFnArgs>(args.into())?;