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: implementation of `TheTrait` is not general enough
32 --> $DIR/associated-types-eq-hr.rs:96:5
34 LL | / pub trait TheTrait<T> {
37 LL | | fn get(&self, t: T) -> Self::A;
39 | |_- trait `TheTrait` defined here
41 LL | tuple_one::<Tuple>();
42 | ^^^^^^^^^^^^^^^^^^ implementation of `TheTrait` is not general enough
44 = note: `Tuple` must implement `TheTrait<(&'0 isize, &'1 isize)>`, for any two lifetimes `'0` and `'1`...
45 = note: ...but `Tuple` actually implements `TheTrait<(&'2 isize, &'2 isize)>`, for some specific lifetime `'2`
47 error: implementation of `TheTrait` is not general enough
48 --> $DIR/associated-types-eq-hr.rs:96:5
50 LL | / pub trait TheTrait<T> {
53 LL | | fn get(&self, t: T) -> Self::A;
55 | |_- trait `TheTrait` defined here
57 LL | tuple_one::<Tuple>();
58 | ^^^^^^^^^^^^^^^^^^ implementation of `TheTrait` is not general enough
60 = note: `Tuple` must implement `TheTrait<(&'0 isize, &'1 isize)>`, for any two lifetimes `'0` and `'1`...
61 = note: ...but `Tuple` actually implements `TheTrait<(&'2 isize, &'2 isize)>`, for some specific lifetime `'2`
63 error: implementation of `TheTrait` is not general enough
64 --> $DIR/associated-types-eq-hr.rs:102:5
66 LL | / pub trait TheTrait<T> {
69 LL | | fn get(&self, t: T) -> Self::A;
71 | |_- trait `TheTrait` defined here
73 LL | tuple_two::<Tuple>();
74 | ^^^^^^^^^^^^^^^^^^ implementation of `TheTrait` is not general enough
76 = note: `Tuple` must implement `TheTrait<(&'0 isize, &'1 isize)>`, for any two lifetimes `'0` and `'1`...
77 = note: ...but `Tuple` actually implements `TheTrait<(&'2 isize, &'2 isize)>`, for some specific lifetime `'2`
79 error: implementation of `TheTrait` is not general enough
80 --> $DIR/associated-types-eq-hr.rs:102:5
82 LL | / pub trait TheTrait<T> {
85 LL | | fn get(&self, t: T) -> Self::A;
87 | |_- trait `TheTrait` defined here
89 LL | tuple_two::<Tuple>();
90 | ^^^^^^^^^^^^^^^^^^ implementation of `TheTrait` is not general enough
92 = note: `Tuple` must implement `TheTrait<(&'0 isize, &'1 isize)>`, for any two lifetimes `'0` and `'1`...
93 = note: ...but `Tuple` actually implements `TheTrait<(&'2 isize, &'2 isize)>`, for some specific lifetime `'2`
95 error: implementation of `TheTrait` is not general enough
96 --> $DIR/associated-types-eq-hr.rs:112:5
98 LL | / pub trait TheTrait<T> {
101 LL | | fn get(&self, t: T) -> Self::A;
103 | |_- trait `TheTrait` defined here
105 LL | tuple_four::<Tuple>();
106 | ^^^^^^^^^^^^^^^^^^^ implementation of `TheTrait` is not general enough
108 = note: `Tuple` must implement `TheTrait<(&'0 isize, &'1 isize)>`, for any two lifetimes `'0` and `'1`...
109 = note: ...but `Tuple` actually implements `TheTrait<(&'2 isize, &'2 isize)>`, for some specific lifetime `'2`
111 error: aborting due to 7 previous errors
113 For more information about this error, try `rustc --explain E0271`.