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