1 error[E0271]: type mismatch resolving `<T as Foo>::Y == i32`
2 --> $DIR/associated-types-multiple-types-one-trait.rs:13:5
5 | ^^^^^^ expected `i32`, found associated type
7 LL | fn want_y<T:Foo<Y=i32>>(t: &T) { }
8 | ----- required by this bound in `want_y`
10 = note: expected type `i32`
11 found associated type `<T as Foo>::Y`
12 help: consider constraining the associated type `<T as Foo>::Y` to `i32`
14 LL | fn have_x_want_y<T:Foo<X=u32, Y = i32>>(t: &T)
17 error[E0271]: type mismatch resolving `<T as Foo>::X == u32`
18 --> $DIR/associated-types-multiple-types-one-trait.rs:18:5
21 | ^^^^^^ expected `u32`, found associated type
23 LL | fn want_x<T:Foo<X=u32>>(t: &T) { }
24 | ----- required by this bound in `want_x`
26 = note: expected type `u32`
27 found associated type `<T as Foo>::X`
28 help: consider constraining the associated type `<T as Foo>::X` to `u32`
30 LL | fn have_y_want_x<T:Foo<Y=i32, X = u32>>(t: &T)
33 error: aborting due to 2 previous errors
35 For more information about this error, try `rustc --explain E0271`.