1 use async_trait::async_trait; 2 3 pub struct S {} 4 5 pub enum E { 6 V {}, 7 } 8 9 #[async_trait] 10 pub trait Trait { method(self)11 async fn method(self); 12 } 13 14 #[async_trait] 15 impl Trait for S { method(self)16 async fn method(self) { 17 let _: () = self; 18 let _: Self = Self; 19 } 20 } 21 22 #[async_trait] 23 impl Trait for E { method(self)24 async fn method(self) { 25 let _: () = self; 26 let _: Self = Self::V; 27 } 28 } 29 main()30fn main() {} 31