@@ -14,6 +14,60 @@ LL | trait X<'a, T: Cycle + for<'b> X<'b, T>>
14
14
LL | for<'b> <T::Next as X<'b, T::Next>>::U: Clone,
15
15
| ^^^^^ required by this bound in `X`
16
16
17
+ error[E0271]: type mismatch resolving `<str as Pointee>::Metadata == ()`
18
+ --> $DIR/hr-associated-type-bound-param-5.rs:25:12
19
+ |
20
+ LL | impl<S, T> X<'_, Vec<T>> for S {
21
+ | ^^^^^^^^^^^^^ expected `()`, found `usize`
22
+ |
23
+ = note: required for `<<Vec<T> as Cycle>::Next as X<'b, <Vec<T> as Cycle>::Next>>::U` to implement `for<'b> Thin`
24
+ = note: required for `<<Vec<T> as Cycle>::Next as X<'b, <Vec<T> as Cycle>::Next>>::U` to implement `for<'b> Sized`
25
+ = note: required for `<<Vec<T> as Cycle>::Next as X<'b, <Vec<T> as Cycle>::Next>>::U` to implement `for<'b> Clone`
26
+ note: required by a bound in `X`
27
+ --> $DIR/hr-associated-type-bound-param-5.rs:17:45
28
+ |
29
+ LL | trait X<'a, T: Cycle + for<'b> X<'b, T>>
30
+ | - required by a bound in this trait
31
+ ...
32
+ LL | for<'b> <T::Next as X<'b, T::Next>>::U: Clone,
33
+ | ^^^^^ required by this bound in `X`
34
+
35
+ error[E0271]: type mismatch resolving `<str as Pointee>::Metadata == ()`
36
+ --> $DIR/hr-associated-type-bound-param-5.rs:25:12
37
+ |
38
+ LL | impl<S, T> X<'_, Vec<T>> for S {
39
+ | ^^^^^^^^^^^^^ expected `()`, found `usize`
40
+ |
41
+ = note: required for `<Vec<T> as X<'b, Vec<T>>>::U` to implement `for<'b> Thin`
42
+ = note: required for `<Vec<T> as X<'b, Vec<T>>>::U` to implement `for<'b> Sized`
43
+ = note: required for `<Vec<T> as X<'b, Vec<T>>>::U` to implement `for<'b> Clone`
44
+ note: required by a bound in `X`
45
+ --> $DIR/hr-associated-type-bound-param-5.rs:15:33
46
+ |
47
+ LL | trait X<'a, T: Cycle + for<'b> X<'b, T>>
48
+ | - required by a bound in this trait
49
+ LL | where
50
+ LL | for<'b> <T as X<'b, T>>::U: Clone,
51
+ | ^^^^^ required by this bound in `X`
52
+
53
+ error[E0271]: type mismatch resolving `<str as Pointee>::Metadata == ()`
54
+ --> $DIR/hr-associated-type-bound-param-5.rs:26:14
55
+ |
56
+ LL | type U = str;
57
+ | ^^^ expected `()`, found `usize`
58
+ |
59
+ = note: required for `str` to implement `Thin`
60
+ = note: required for `<<Vec<T> as Cycle>::Next as X<'b, <Vec<T> as Cycle>::Next>>::U` to implement `for<'b> Sized`
61
+ = note: required for `<<Vec<T> as Cycle>::Next as X<'b, <Vec<T> as Cycle>::Next>>::U` to implement `for<'b> Clone`
62
+ note: required by a bound in `X`
63
+ --> $DIR/hr-associated-type-bound-param-5.rs:17:45
64
+ |
65
+ LL | trait X<'a, T: Cycle + for<'b> X<'b, T>>
66
+ | - required by a bound in this trait
67
+ ...
68
+ LL | for<'b> <T::Next as X<'b, T::Next>>::U: Clone,
69
+ | ^^^^^ required by this bound in `X`
70
+
17
71
error[E0277]: the trait bound `str: Clone` is not satisfied
18
72
--> $DIR/hr-associated-type-bound-param-5.rs:31:14
19
73
|
@@ -30,6 +84,61 @@ LL | trait X<'a, T: Cycle + for<'b> X<'b, T>>
30
84
LL | for<'b> <T::Next as X<'b, T::Next>>::U: Clone,
31
85
| ^^^^^ required by this bound in `X`
32
86
33
- error: aborting due to 2 previous errors
87
+ error[E0271]: type mismatch resolving `<str as Pointee>::Metadata == ()`
88
+ --> $DIR/hr-associated-type-bound-param-5.rs:30:12
89
+ |
90
+ LL | impl<S, T> X<'_, Box<T>> for S {
91
+ | ^^^^^^^^^^^^^ expected `()`, found `usize`
92
+ |
93
+ = note: required for `<<Box<T> as Cycle>::Next as X<'b, <Box<T> as Cycle>::Next>>::U` to implement `for<'b> Thin`
94
+ = note: required for `<<Box<T> as Cycle>::Next as X<'b, <Box<T> as Cycle>::Next>>::U` to implement `for<'b> Sized`
95
+ = note: required for `<<Box<T> as Cycle>::Next as X<'b, <Box<T> as Cycle>::Next>>::U` to implement `for<'b> Clone`
96
+ note: required by a bound in `X`
97
+ --> $DIR/hr-associated-type-bound-param-5.rs:17:45
98
+ |
99
+ LL | trait X<'a, T: Cycle + for<'b> X<'b, T>>
100
+ | - required by a bound in this trait
101
+ ...
102
+ LL | for<'b> <T::Next as X<'b, T::Next>>::U: Clone,
103
+ | ^^^^^ required by this bound in `X`
104
+
105
+ error[E0271]: type mismatch resolving `<str as Pointee>::Metadata == ()`
106
+ --> $DIR/hr-associated-type-bound-param-5.rs:30:12
107
+ |
108
+ LL | impl<S, T> X<'_, Box<T>> for S {
109
+ | ^^^^^^^^^^^^^ expected `()`, found `usize`
110
+ |
111
+ = note: required for `<Box<T> as X<'b, Box<T>>>::U` to implement `for<'b> Thin`
112
+ = note: required for `<Box<T> as X<'b, Box<T>>>::U` to implement `for<'b> Sized`
113
+ = note: required for `<Box<T> as X<'b, Box<T>>>::U` to implement `for<'b> Clone`
114
+ note: required by a bound in `X`
115
+ --> $DIR/hr-associated-type-bound-param-5.rs:15:33
116
+ |
117
+ LL | trait X<'a, T: Cycle + for<'b> X<'b, T>>
118
+ | - required by a bound in this trait
119
+ LL | where
120
+ LL | for<'b> <T as X<'b, T>>::U: Clone,
121
+ | ^^^^^ required by this bound in `X`
122
+
123
+ error[E0271]: type mismatch resolving `<str as Pointee>::Metadata == ()`
124
+ --> $DIR/hr-associated-type-bound-param-5.rs:31:14
125
+ |
126
+ LL | type U = str;
127
+ | ^^^ expected `()`, found `usize`
128
+ |
129
+ = note: required for `str` to implement `Thin`
130
+ = note: required for `<<Box<T> as Cycle>::Next as X<'b, <Box<T> as Cycle>::Next>>::U` to implement `for<'b> Sized`
131
+ = note: required for `<<Box<T> as Cycle>::Next as X<'b, <Box<T> as Cycle>::Next>>::U` to implement `for<'b> Clone`
132
+ note: required by a bound in `X`
133
+ --> $DIR/hr-associated-type-bound-param-5.rs:17:45
134
+ |
135
+ LL | trait X<'a, T: Cycle + for<'b> X<'b, T>>
136
+ | - required by a bound in this trait
137
+ ...
138
+ LL | for<'b> <T::Next as X<'b, T::Next>>::U: Clone,
139
+ | ^^^^^ required by this bound in `X`
140
+
141
+ error: aborting due to 8 previous errors
34
142
35
- For more information about this error, try `rustc --explain E0277`.
143
+ Some errors have detailed explanations: E0271, E0277.
144
+ For more information about an error, try `rustc --explain E0271`.
0 commit comments