1 error[E0308]: mismatched types
2 --> $DIR/associated-types-path-2.rs:19:14
5 | -- ^^^^ expected `u32`, found `i32`
7 | arguments to this function are incorrect
9 note: function defined here
10 --> $DIR/associated-types-path-2.rs:13:8
12 LL | pub fn f1<T: Foo>(a: T, x: T::A) {}
14 help: change the type of the numeric literal from `i32` to `u32`
19 error[E0277]: the trait bound `u32: Foo` is not satisfied
20 --> $DIR/associated-types-path-2.rs:29:8
23 | -- ^^^^ the trait `Foo` is not implemented for `u32`
25 | required by a bound introduced by this call
27 = help: the trait `Foo` is implemented for `i32`
28 note: required by a bound in `f1`
29 --> $DIR/associated-types-path-2.rs:13:14
31 LL | pub fn f1<T: Foo>(a: T, x: T::A) {}
32 | ^^^ required by this bound in `f1`
34 error[E0277]: the trait bound `u32: Foo` is not satisfied
35 --> $DIR/associated-types-path-2.rs:29:5
38 | ^^^^^^^^^^^^^^ the trait `Foo` is not implemented for `u32`
40 = help: the trait `Foo` is implemented for `i32`
42 error[E0277]: the trait bound `u32: Foo` is not satisfied
43 --> $DIR/associated-types-path-2.rs:29:14
46 | ^^^^ the trait `Foo` is not implemented for `u32`
48 = help: the trait `Foo` is implemented for `i32`
50 error[E0277]: the trait bound `u32: Foo` is not satisfied
51 --> $DIR/associated-types-path-2.rs:36:8
54 | -- ^^^^ the trait `Foo` is not implemented for `u32`
56 | required by a bound introduced by this call
58 = help: the trait `Foo` is implemented for `i32`
59 note: required by a bound in `f1`
60 --> $DIR/associated-types-path-2.rs:13:14
62 LL | pub fn f1<T: Foo>(a: T, x: T::A) {}
63 | ^^^ required by this bound in `f1`
65 error[E0277]: the trait bound `u32: Foo` is not satisfied
66 --> $DIR/associated-types-path-2.rs:36:5
69 | ^^^^^^^^^^^^^^ the trait `Foo` is not implemented for `u32`
71 = help: the trait `Foo` is implemented for `i32`
73 error[E0277]: the trait bound `u32: Foo` is not satisfied
74 --> $DIR/associated-types-path-2.rs:36:14
77 | ^^^^ the trait `Foo` is not implemented for `u32`
79 = help: the trait `Foo` is implemented for `i32`
81 error[E0308]: mismatched types
82 --> $DIR/associated-types-path-2.rs:43:18
84 LL | let _: i32 = f2(2i32);
85 | --- ^^^^^^^^ expected `i32`, found `u32`
87 | expected due to this
89 help: you can convert a `u32` to an `i32` and panic if the converted value doesn't fit
91 LL | let _: i32 = f2(2i32).try_into().unwrap();
92 | ++++++++++++++++++++
94 error: aborting due to 8 previous errors
96 Some errors have detailed explanations: E0277, E0308.
97 For more information about an error, try `rustc --explain E0277`.