]>
Commit | Line | Data |
---|---|---|
e1599b0c XL |
1 | // check-pass |
2 | // edition:2018 | |
3 | ||
e1599b0c XL |
4 | #![allow(non_snake_case)] |
5 | ||
6 | use std::rc::Rc; | |
7 | ||
8 | trait Trait { | |
9 | type AssocType; | |
10 | } | |
11 | ||
12 | struct Struct { } | |
13 | ||
14 | impl Trait for Struct { | |
15 | type AssocType = Self; | |
16 | } | |
17 | ||
18 | impl Struct { | |
19 | async fn assoc(self: <Struct as Trait>::AssocType, f: &u32) -> &u32 { | |
20 | f | |
21 | } | |
22 | ||
23 | async fn box_AssocType(self: Box<<Struct as Trait>::AssocType>, f: &u32) -> &u32 { | |
24 | f | |
25 | } | |
26 | ||
27 | async fn rc_AssocType(self: Rc<<Struct as Trait>::AssocType>, f: &u32) -> &u32 { | |
28 | f | |
29 | } | |
30 | ||
31 | async fn box_box_AssocType(self: Box<Box<<Struct as Trait>::AssocType>>, f: &u32) -> &u32 { | |
32 | f | |
33 | } | |
34 | ||
35 | async fn box_rc_AssocType(self: Box<Rc<<Struct as Trait>::AssocType>>, f: &u32) -> &u32 { | |
36 | f | |
37 | } | |
38 | } | |
39 | ||
40 | fn main() { } |