async fn
is sugar for an RPIT, and RPIT is leaky around auto-traits such as Send
, [1] just like nominal structs are.
Include run()
as a #[test]
, or just desugar it and add the bound yourself.
pub fn foo() -> impl std::future::Future<Output = ()> + Send {
async {
nop().await;
}
}
-
OIBIT is another term for auto-trait ↩︎