1 trait Bar {}
2 
3 trait Foo {
4     type Assoc: Bar;
5 }
6 
7 impl Foo for () {
8     type Assoc = bool; //~ ERROR the trait bound `bool: Bar` is not satisfied
9 }
10 
11 trait Baz
12 where
13     Self::Assoc: Bar,
14 {
15     type Assoc;
16 }
17 
18 impl Baz for () {
19     type Assoc = bool; //~ ERROR the trait bound `bool: Bar` is not satisfied
20 }
21 
22 trait Bat
23 where
24     <Self as Bat>::Assoc: Bar,
25 {
26     type Assoc;
27 }
28 
29 impl Bat for () {
30     type Assoc = bool; //~ ERROR the trait bound `bool: Bar` is not satisfied
31 }
32 
main()33 fn main() {}
34