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()30 fn main() {}
31