1 error[E0277]: the trait bound `<T as Parent>::Assoc: Child<A>` is not satisfied
2 --> $DIR/missing-assoc-type-bound-restriction.rs:17:19
7 LL | type Assoc: Child<Self::Ty>;
8 | --------------- required by this bound in `Parent`
10 LL | impl<A, T: Parent<Ty = A>> Parent for ParentWrapper<T> {
11 | ^^^^^^ - help: consider further restricting the associated type: `where <T as Parent>::Assoc: Child<A>`
13 | the trait `Child<A>` is not implemented for `<T as Parent>::Assoc`
15 error[E0277]: the trait bound `<T as Parent>::Assoc: Child<A>` is not satisfied
16 --> $DIR/missing-assoc-type-bound-restriction.rs:20:5
18 LL | type Assoc: Child<Self::Ty>;
19 | ----- associated type defined here
21 LL | impl<A, T: Parent<Ty = A>> Parent for ParentWrapper<T> {
22 | ------------------------------------------------------- help: consider further restricting the associated type: `where <T as Parent>::Assoc: Child<A>`
26 LL | type Assoc = ChildWrapper<T::Assoc>;
27 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Child<A>` is not implemented for `<T as Parent>::Assoc`
29 = note: required because of the requirements on the impl of `Child<A>` for `ChildWrapper<<T as Parent>::Assoc>`
31 error[E0277]: the trait bound `<T as Parent>::Assoc: Child<A>` is not satisfied
32 --> $DIR/missing-assoc-type-bound-restriction.rs:20:5
37 LL | type Assoc: Child<Self::Ty>;
38 | --------------- required by this bound in `Parent`
40 LL | impl<A, T: Parent<Ty = A>> Parent for ParentWrapper<T> {
41 | - help: consider further restricting the associated type: `where <T as Parent>::Assoc: Child<A>`
43 LL | type Assoc = ChildWrapper<T::Assoc>;
44 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Child<A>` is not implemented for `<T as Parent>::Assoc`
46 error: aborting due to 3 previous errors
48 For more information about this error, try `rustc --explain E0277`.