1 error[E0271]: type mismatch resolving `for<'x> <UintStruct as TheTrait<&'x isize>>::A == &'x isize`
2 --> $DIR/associated-types-eq-hr.rs:92:5
4 LL | foo::<UintStruct>(); //~ ERROR type mismatch
5 | ^^^^^^^^^^^^^^^^^ expected usize, found isize
7 = note: expected type `&usize`
9 note: required by `foo`
10 --> $DIR/associated-types-eq-hr.rs:54:1
13 LL | | where T : for<'x> TheTrait<&'x isize, A = &'x isize>
15 LL | | // ok for IntStruct, but not UintStruct
19 error[E0271]: type mismatch resolving `for<'x> <IntStruct as TheTrait<&'x isize>>::A == &'x usize`
20 --> $DIR/associated-types-eq-hr.rs:94:5
22 LL | bar::<IntStruct>(); //~ ERROR type mismatch
23 | ^^^^^^^^^^^^^^^^ expected isize, found usize
25 = note: expected type `&isize`
27 note: required by `bar`
28 --> $DIR/associated-types-eq-hr.rs:60:1
31 LL | | where T : for<'x> TheTrait<&'x isize, A = &'x usize>
33 LL | | // ok for UintStruct, but not IntStruct
37 error[E0277]: the trait bound `for<'x, 'y> Tuple: TheTrait<(&'x isize, &'y isize)>` is not satisfied
38 --> $DIR/associated-types-eq-hr.rs:97:5
40 LL | tuple_one::<Tuple>();
41 | ^^^^^^^^^^^^^^^^^^ the trait `for<'x, 'y> TheTrait<(&'x isize, &'y isize)>` is not implemented for `Tuple`
43 = help: the following implementations were found:
44 <Tuple as TheTrait<(&'a isize, &'a isize)>>
45 note: required by `tuple_one`
46 --> $DIR/associated-types-eq-hr.rs:66:1
48 LL | / fn tuple_one<T>()
49 LL | | where T : for<'x,'y> TheTrait<(&'x isize, &'y isize), A = &'x isize>
51 LL | | // not ok for tuple, two lifetimes and we pick first
55 error[E0271]: type mismatch resolving `for<'x, 'y> <Tuple as TheTrait<(&'x isize, &'y isize)>>::A == &'x isize`
56 --> $DIR/associated-types-eq-hr.rs:97:5
58 LL | tuple_one::<Tuple>();
59 | ^^^^^^^^^^^^^^^^^^ expected bound lifetime parameter 'x, found concrete lifetime
61 note: required by `tuple_one`
62 --> $DIR/associated-types-eq-hr.rs:66:1
64 LL | / fn tuple_one<T>()
65 LL | | where T : for<'x,'y> TheTrait<(&'x isize, &'y isize), A = &'x isize>
67 LL | | // not ok for tuple, two lifetimes and we pick first
71 error[E0277]: the trait bound `for<'x, 'y> Tuple: TheTrait<(&'x isize, &'y isize)>` is not satisfied
72 --> $DIR/associated-types-eq-hr.rs:101:5
74 LL | tuple_two::<Tuple>();
75 | ^^^^^^^^^^^^^^^^^^ the trait `for<'x, 'y> TheTrait<(&'x isize, &'y isize)>` is not implemented for `Tuple`
77 = help: the following implementations were found:
78 <Tuple as TheTrait<(&'a isize, &'a isize)>>
79 note: required by `tuple_two`
80 --> $DIR/associated-types-eq-hr.rs:72:1
82 LL | / fn tuple_two<T>()
83 LL | | where T : for<'x,'y> TheTrait<(&'x isize, &'y isize), A = &'y isize>
85 LL | | // not ok for tuple, two lifetimes and we pick second
89 error[E0271]: type mismatch resolving `for<'x, 'y> <Tuple as TheTrait<(&'x isize, &'y isize)>>::A == &'y isize`
90 --> $DIR/associated-types-eq-hr.rs:101:5
92 LL | tuple_two::<Tuple>();
93 | ^^^^^^^^^^^^^^^^^^ expected bound lifetime parameter 'x, found concrete lifetime
95 note: required by `tuple_two`
96 --> $DIR/associated-types-eq-hr.rs:72:1
98 LL | / fn tuple_two<T>()
99 LL | | where T : for<'x,'y> TheTrait<(&'x isize, &'y isize), A = &'y isize>
101 LL | | // not ok for tuple, two lifetimes and we pick second
105 error[E0277]: the trait bound `for<'x, 'y> Tuple: TheTrait<(&'x isize, &'y isize)>` is not satisfied
106 --> $DIR/associated-types-eq-hr.rs:107:5
108 LL | tuple_four::<Tuple>();
109 | ^^^^^^^^^^^^^^^^^^^ the trait `for<'x, 'y> TheTrait<(&'x isize, &'y isize)>` is not implemented for `Tuple`
111 = help: the following implementations were found:
112 <Tuple as TheTrait<(&'a isize, &'a isize)>>
113 note: required by `tuple_four`
114 --> $DIR/associated-types-eq-hr.rs:84:1
116 LL | / fn tuple_four<T>()
117 LL | | where T : for<'x,'y> TheTrait<(&'x isize, &'y isize)>
119 LL | | // not ok for tuple, two lifetimes, and lifetime matching is invariant
123 error: aborting due to 7 previous errors
125 Some errors occurred: E0271, E0277.
126 For more information about an error, try `rustc --explain E0271`.