1 error[E0271]: type mismatch resolving `for<'x> <UintStruct as TheTrait<&'x isize>>::A == &'x isize`
2 --> $DIR/associated-types-eq-hr.rs:87:5
5 | --- required by a bound in this
7 LL | T: for<'x> TheTrait<&'x isize, A = &'x isize>,
8 | ------------- required by this bound in `foo`
10 LL | foo::<UintStruct>();
11 | ^^^^^^^^^^^^^^^^^ expected `isize`, found `usize`
13 = note: expected reference `&isize`
14 found reference `&usize`
16 error[E0271]: type mismatch resolving `for<'x> <IntStruct as TheTrait<&'x isize>>::A == &'x usize`
17 --> $DIR/associated-types-eq-hr.rs:91:5
20 | --- required by a bound in this
22 LL | T: for<'x> TheTrait<&'x isize, A = &'x usize>,
23 | ------------- required by this bound in `bar`
25 LL | bar::<IntStruct>();
26 | ^^^^^^^^^^^^^^^^ expected `usize`, found `isize`
28 = note: expected reference `&usize`
29 found reference `&isize`
31 error[E0271]: type mismatch resolving `for<'x, 'y> <Tuple as TheTrait<(&'x isize, &'y isize)>>::A == &'x isize`
32 --> $DIR/associated-types-eq-hr.rs:96:5
34 LL | fn tuple_one<T>()
35 | --------- required by a bound in this
37 LL | T: for<'x, 'y> TheTrait<(&'x isize, &'y isize), A = &'x isize>,
38 | ------------- required by this bound in `tuple_one`
40 LL | tuple_one::<Tuple>();
41 | ^^^^^^^^^^^^^^^^^^ expected bound lifetime parameter 'x, found concrete lifetime
43 error[E0271]: type mismatch resolving `for<'x, 'y> <Tuple as TheTrait<(&'x isize, &'y isize)>>::A == &'y isize`
44 --> $DIR/associated-types-eq-hr.rs:101:5
46 LL | fn tuple_two<T>()
47 | --------- required by a bound in this
49 LL | T: for<'x, 'y> TheTrait<(&'x isize, &'y isize), A = &'y isize>,
50 | ------------- required by this bound in `tuple_two`
52 LL | tuple_two::<Tuple>();
53 | ^^^^^^^^^^^^^^^^^^ expected bound lifetime parameter 'y, found concrete lifetime
55 error: implementation of `TheTrait` is not general enough
56 --> $DIR/associated-types-eq-hr.rs:110:5
58 LL | / pub trait TheTrait<T> {
61 LL | | fn get(&self, t: T) -> Self::A;
63 | |_- trait `TheTrait` defined here
65 LL | tuple_four::<Tuple>();
66 | ^^^^^^^^^^^^^^^^^^^ implementation of `TheTrait` is not general enough
68 = note: `Tuple` must implement `TheTrait<(&'0 isize, &'1 isize)>`, for any two lifetimes `'0` and `'1`...
69 = note: ...but `Tuple` actually implements `TheTrait<(&'2 isize, &'2 isize)>`, for some specific lifetime `'2`
71 error: aborting due to 5 previous errors
73 For more information about this error, try `rustc --explain E0271`.