// check-pass pub trait D {} pub struct DT; impl D for DT {} pub trait A: Sized { type AS; } pub struct As(R); pub struct AT; impl A for AT { type AS = As; } #[repr(packed)] struct S(>::AS); fn main() {}