// check-pass trait Parent { type Ty; type Assoc: Child; } trait Child {} struct ChildWrapper(T); impl Child for ChildWrapper where T: Child {} struct ParentWrapper(T); impl> Parent for ParentWrapper { type Ty = A; type Assoc = ChildWrapper; } fn main() {}