| error[E0308]: mismatched types |
| --> $DIR/associated-types-eq-3.rs:23:18 |
| | |
| LL | let _: Bar = x.boo(); |
| | --- ^^^^^^^ expected `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:10 |
| | |
| LL | foo1(a); |
| | ---- ^ type mismatch resolving `<isize as Foo>::A == Bar` |
| | | |
| | required by a bound introduced by this call |
| | |
| note: expected this to be `Bar` |
| --> $DIR/associated-types-eq-3.rs:12:14 |
| | |
| LL | type A = usize; |
| | ^^^^^ |
| note: required by a bound in `foo1` |
| --> $DIR/associated-types-eq-3.rs:18:16 |
| | |
| LL | fn foo1<I: Foo<A=Bar>>(x: I) { |
| | ^^^^^ required by this bound in `foo1` |
| |
| error[E0271]: type mismatch resolving `<isize as Foo>::A == Bar` |
| --> $DIR/associated-types-eq-3.rs:40:9 |
| | |
| LL | baz(&a); |
| | ^^ type mismatch resolving `<isize as Foo>::A == Bar` |
| | |
| note: expected this to be `Bar` |
| --> $DIR/associated-types-eq-3.rs:12:14 |
| | |
| LL | type A = usize; |
| | ^^^^^ |
| = note: required for the cast from `isize` 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`. |