error[E0277]: `impl Future` cannot be sent between threads safely --> $DIR/send-on-foreign-async-fn-in-trait.rs:9:16 | LL | needs_send(T::test()); | ---------- ^^^^^^^^^ `impl Future` cannot be sent between threads safely | | | required by a bound introduced by this call | = help: the trait `Send` is not implemented for `impl Future` note: `::test` is an `async fn` in trait, which does not automatically imply that its future is `Send` --> $DIR/auxiliary/foreign-async-fn.rs:4:5 | LL | async fn test(); | ^^^^^^^^^^^^^^^^ note: required by a bound in `needs_send` --> $DIR/send-on-foreign-async-fn-in-trait.rs:8:27 | LL | fn needs_send(_: impl Send) {} | ^^^^ required by this bound in `needs_send` error: aborting due to previous error For more information about this error, try `rustc --explain E0277`.