summaryrefslogtreecommitdiffstats
path: root/src/test/ui/suggestions/missing-assoc-type-bound-restriction.rs
blob: 4954a8a6965be828ed807a35323845ec784e9797 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// check-pass

trait Parent {
    type Ty;
    type Assoc: Child<Self::Ty>;
}

trait Child<T> {}

struct ChildWrapper<T>(T);

impl<A, T> Child<A> for ChildWrapper<T> where T: Child<A> {}

struct ParentWrapper<T>(T);

impl<A, T: Parent<Ty = A>> Parent for ParentWrapper<T> {
    type Ty = A;
    type Assoc = ChildWrapper<T::Assoc>;
}

fn main() {}