1error[E0308]: mismatched types
2  --> $DIR/associated-types-path-2.rs:19:14
3   |
4LL |     f1(2i32, 4i32);
5   |              ^^^^ expected `u32`, found `i32`
6   |
7help: change the type of the numeric literal from `i32` to `u32`
8   |
9LL |     f1(2i32, 4u32);
10   |               ~~~
11
12error[E0277]: the trait bound `u32: Foo` is not satisfied
13  --> $DIR/associated-types-path-2.rs:29:5
14   |
15LL |     f1(2u32, 4u32);
16   |     ^^ the trait `Foo` is not implemented for `u32`
17   |
18note: required by a bound in `f1`
19  --> $DIR/associated-types-path-2.rs:13:14
20   |
21LL | pub fn f1<T: Foo>(a: T, x: T::A) {}
22   |              ^^^ required by this bound in `f1`
23
24error[E0277]: the trait bound `u32: Foo` is not satisfied
25  --> $DIR/associated-types-path-2.rs:29:14
26   |
27LL |     f1(2u32, 4u32);
28   |              ^^^^ the trait `Foo` is not implemented for `u32`
29
30error[E0277]: the trait bound `u32: Foo` is not satisfied
31  --> $DIR/associated-types-path-2.rs:35:8
32   |
33LL |     f1(2u32, 4i32);
34   |     -- ^^^^ the trait `Foo` is not implemented for `u32`
35   |     |
36   |     required by a bound introduced by this call
37   |
38note: required by a bound in `f1`
39  --> $DIR/associated-types-path-2.rs:13:14
40   |
41LL | pub fn f1<T: Foo>(a: T, x: T::A) {}
42   |              ^^^ required by this bound in `f1`
43
44error[E0277]: the trait bound `u32: Foo` is not satisfied
45  --> $DIR/associated-types-path-2.rs:35:14
46   |
47LL |     f1(2u32, 4i32);
48   |              ^^^^ the trait `Foo` is not implemented for `u32`
49
50error[E0308]: mismatched types
51  --> $DIR/associated-types-path-2.rs:41:18
52   |
53LL |     let _: i32 = f2(2i32);
54   |            ---   ^^^^^^^^ expected `i32`, found `u32`
55   |            |
56   |            expected due to this
57   |
58help: you can convert a `u32` to an `i32` and panic if the converted value doesn't fit
59   |
60LL |     let _: i32 = f2(2i32).try_into().unwrap();
61   |                          ++++++++++++++++++++
62
63error: aborting due to 6 previous errors
64
65Some errors have detailed explanations: E0277, E0308.
66For more information about an error, try `rustc --explain E0277`.
67