| //@ check-pass | |
| trait Trait { | |
| type Associated; | |
| } | |
| impl Trait for i32 { | |
| type Associated = i64; | |
| } | |
| trait Generic<T> {} | |
| type TraitObject = dyn Generic<<i32 as Trait>::Associated>; | |
| struct Wrap(TraitObject); | |
| fn cast(x: *mut TraitObject) { | |
| x as *mut Wrap; | |
| } | |
| fn main() {} |