error[E0271]: type mismatch resolving `::Y == i32` --> $DIR/associated-types-multiple-types-one-trait.rs:13:12 | LL | want_y(t); | ------ ^ expected `i32`, found associated type | | | required by a bound introduced by this call | = note: expected type `i32` found associated type `::Y` note: required by a bound in `want_y` --> $DIR/associated-types-multiple-types-one-trait.rs:44:17 | LL | fn want_y>(t: &T) { } | ^^^^^ required by this bound in `want_y` help: consider constraining the associated type `::Y` to `i32` | LL | fn have_x_want_y>(t: &T) | +++++++++ error[E0271]: type mismatch resolving `::X == u32` --> $DIR/associated-types-multiple-types-one-trait.rs:18:12 | LL | want_x(t); | ------ ^ expected `u32`, found associated type | | | required by a bound introduced by this call | = note: expected type `u32` found associated type `::X` note: required by a bound in `want_x` --> $DIR/associated-types-multiple-types-one-trait.rs:42:17 | LL | fn want_x>(t: &T) { } | ^^^^^ required by this bound in `want_x` help: consider constraining the associated type `::X` to `u32` | LL | fn have_y_want_x>(t: &T) | +++++++++ error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0271`.