1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
use async_trait_sync::async_trait; struct A; #[async_trait] pub trait Trait { async fn method(&self); } #[async_trait] impl Trait for A { async fn method(&self) {} } fn main() { fn test<T>(a: T) where T: Trait + Send + Sync {} test(A.method()); }