1 // check-pass 2 3 pub trait D {} 4 pub struct DT; 5 impl D for DT {} 6 7 pub trait A<R: D>: Sized { 8 type AS; 9 } 10 11 pub struct As<R: D>(R); 12 13 pub struct AT; 14 impl<R: D> A<R> for AT { 15 type AS = As<R>; 16 } 17 18 #[repr(packed)] 19 struct S(<AT as A<DT>>::AS); 20 main()21fn main() {} 22