1 error[E0308]: mismatched types
2 --> $DIR/associated-types-eq-3.rs:23:18
4 LL | let _: Bar = x.boo();
5 | --- ^^^^^^^ expected struct `Bar`, found associated type
9 = note: expected struct `Bar`
10 found associated type `<I as Foo>::A`
11 help: consider constraining the associated type `<I as Foo>::A` to `Bar`
13 LL | fn foo2<I: Foo<A = Bar>>(x: I) {
16 error[E0271]: type mismatch resolving `<isize as Foo>::A == Bar`
17 --> $DIR/associated-types-eq-3.rs:38:5
19 LL | fn foo1<I: Foo<A=Bar>>(x: I) {
20 | ----- required by this bound in `foo1`
23 | ^^^^ expected struct `Bar`, found `usize`
25 error[E0271]: type mismatch resolving `<isize as Foo>::A == Bar`
26 --> $DIR/associated-types-eq-3.rs:41:9
29 | ^^ expected struct `Bar`, found `usize`
31 = note: required for the cast to the object type `dyn Foo<A = Bar>`
33 error: aborting due to 3 previous errors
35 Some errors have detailed explanations: E0271, E0308.
36 For more information about an error, try `rustc --explain E0271`.