// run-rustfix // edition: 2021 #![feature(async_fn_in_trait, return_position_impl_trait_in_trait)] #![allow(unused)] trait Foo { async fn test() -> () {} async fn test2() -> i32 { 1 + 2 } } fn bar() { fn needs_send(_: impl Send) {} needs_send(T::test()); //~^ ERROR `impl Future` cannot be sent between threads safely needs_send(T::test2()); //~^ ERROR `impl Future` cannot be sent between threads safely } fn main() {}