1
+ error: ambiguous `+` in a type
2
+ |
3
+ LL | fn elided(_: &impl Copy + 'a) -> _ { x }
4
+ | ^^^^^^^^^^^^^^
5
+ |
6
+ help: try adding parentheses
7
+ |
8
+ LL | fn elided(_: &(impl Copy + 'a)) -> _ { x }
9
+ | + +
10
+
11
+ error: ambiguous `+` in a type
12
+ |
13
+ LL | fn explicit<'b>(_: &'a impl Copy + 'a) -> impl 'a { x }
14
+ | ^^^^^^^^^^^^^^
15
+ |
16
+ help: try adding parentheses
17
+ |
18
+ LL | fn explicit<'b>(_: &'a (impl Copy + 'a)) -> impl 'a { x }
19
+ | + +
20
+
21
+ error: expected identifier, found keyword `impl`
22
+ |
23
+ LL | fn elided2( impl 'b) -> impl 'a + 'a { x }
24
+ | ^^^^ expected identifier, found keyword
25
+
26
+ error: expected one of `:` or `|`, found `'b`
27
+ |
28
+ LL | fn elided2( impl 'b) -> impl 'a + 'a { x }
29
+ | ^^ expected one of `:` or `|`
30
+
31
+ error: ambiguous `+` in a type
32
+ |
33
+ LL | fn explicit2<'a>(_: &'a impl Copy + 'a) -> impl Copy + 'a { x }
34
+ | ^^^^^^^^^^^^^^
35
+ |
36
+ help: try adding parentheses
37
+ |
38
+ LL | fn explicit2<'a>(_: &'a (impl Copy + 'a)) -> impl Copy + 'a { x }
39
+ | + +
40
+
41
+ error: ambiguous `+` in a type
42
+ |
43
+ LL | fn foo<'a>(_: &impl Copy + 'a) -> impl 'b + 'a { x }
44
+ | ^^^^^^^^^^^^^^
45
+ |
46
+ help: try adding parentheses
47
+ |
48
+ LL | fn foo<'a>(_: &(impl Copy + 'a)) -> impl 'b + 'a { x }
49
+ | + +
50
+
51
+ error: ambiguous `+` in a type
52
+ |
53
+ LL | fn elided3(_: &impl Copy + 'a) -> Box<dyn 'a> { Box::new(x) }
54
+ | ^^^^^^^^^^^^^^
55
+ |
56
+ help: try adding parentheses
57
+ |
58
+ LL | fn elided3(_: &(impl Copy + 'a)) -> Box<dyn 'a> { Box::new(x) }
59
+ | + +
60
+
61
+ error: ambiguous `+` in a type
62
+ |
63
+ LL | fn x<'b>(_: &'a impl Copy + 'a) -> Box<dyn 'b> { Box::u32(x) }
64
+ | ^^^^^^^^^^^^^^
65
+ |
66
+ help: try adding parentheses
67
+ |
68
+ LL | fn x<'b>(_: &'a (impl Copy + 'a)) -> Box<dyn 'b> { Box::u32(x) }
69
+ | + +
70
+
71
+ error: ambiguous `+` in a type
72
+ |
73
+ LL | fn elided4(_: &impl Copy + 'a) -> new { x(x) }
74
+ | ^^^^^^^^^^^^^^
75
+ |
76
+ help: try adding parentheses
77
+ |
78
+ LL | fn elided4(_: &(impl Copy + 'a)) -> new { x(x) }
79
+ | + +
80
+
81
+ error: at least one trait must be specified
82
+ |
83
+ LL | fn explicit<'b>(_: &'a impl Copy + 'a) -> impl 'a { x }
84
+ | ^^^^^^^
85
+
86
+ error: at least one trait must be specified
87
+ |
88
+ LL | fn elided2( impl 'b) -> impl 'a + 'a { x }
89
+ | ^^^^^^^^^^^^
90
+
91
+ error: at least one trait must be specified
92
+ |
93
+ LL | fn foo<'a>(_: &impl Copy + 'a) -> impl 'b + 'a { x }
94
+ | ^^^^^^^^^^^^
95
+
96
+ error[E0261]: use of undeclared lifetime name `'a`
97
+ |
98
+ LL | fn elided(_: &impl Copy + 'a) -> _ { x }
99
+ | ^^ undeclared lifetime
100
+ |
101
+ help: consider introducing lifetime `'a` here
102
+ |
103
+ LL | fn elided<'a>(_: &impl Copy + 'a) -> _ { x }
104
+ | ++++
105
+
106
+ error[E0261]: use of undeclared lifetime name `'a`
107
+ |
108
+ LL | fn explicit<'b>(_: &'a impl Copy + 'a) -> impl 'a { x }
109
+ | ^^ undeclared lifetime
110
+ |
111
+ help: consider introducing lifetime `'a` here
112
+ |
113
+ LL | fn explicit<'a, 'b>(_: &'a impl Copy + 'a) -> impl 'a { x }
114
+ | +++
115
+
116
+ error[E0261]: use of undeclared lifetime name `'a`
117
+ |
118
+ LL | fn explicit<'b>(_: &'a impl Copy + 'a) -> impl 'a { x }
119
+ | ^^ undeclared lifetime
120
+ |
121
+ help: consider introducing lifetime `'a` here
122
+ |
123
+ LL | fn explicit<'a, 'b>(_: &'a impl Copy + 'a) -> impl 'a { x }
124
+ | +++
125
+
126
+ error[E0261]: use of undeclared lifetime name `'a`
127
+ |
128
+ LL | fn explicit<'b>(_: &'a impl Copy + 'a) -> impl 'a { x }
129
+ | ^^ undeclared lifetime
130
+ |
131
+ help: consider introducing lifetime `'a` here
132
+ |
133
+ LL | fn explicit<'a, 'b>(_: &'a impl Copy + 'a) -> impl 'a { x }
134
+ | +++
135
+
136
+ error[E0261]: use of undeclared lifetime name `'a`
137
+ |
138
+ LL | fn elided2( impl 'b) -> impl 'a + 'a { x }
139
+ | ^^ undeclared lifetime
140
+ |
141
+ help: consider introducing lifetime `'a` here
142
+ |
143
+ LL | fn elided2<'a>( impl 'b) -> impl 'a + 'a { x }
144
+ | ++++
145
+
146
+ error[E0261]: use of undeclared lifetime name `'a`
147
+ |
148
+ LL | fn elided2( impl 'b) -> impl 'a + 'a { x }
149
+ | ^^ undeclared lifetime
150
+ |
151
+ help: consider introducing lifetime `'a` here
152
+ |
153
+ LL | fn elided2<'a>( impl 'b) -> impl 'a + 'a { x }
154
+ | ++++
155
+
156
+ error[E0261]: use of undeclared lifetime name `'b`
157
+ |
158
+ LL | fn foo<'a>(_: &impl Copy + 'a) -> impl 'b + 'a { x }
159
+ | ^^ undeclared lifetime
160
+ |
161
+ help: consider introducing lifetime `'b` here
162
+ |
163
+ LL | fn foo<'b, 'a>(_: &impl Copy + 'a) -> impl 'b + 'a { x }
164
+ | +++
165
+
166
+ error[E0261]: use of undeclared lifetime name `'a`
167
+ |
168
+ LL | fn elided3(_: &impl Copy + 'a) -> Box<dyn 'a> { Box::new(x) }
169
+ | ^^ undeclared lifetime
170
+ |
171
+ help: consider introducing lifetime `'a` here
172
+ |
173
+ LL | fn elided3<'a>(_: &impl Copy + 'a) -> Box<dyn 'a> { Box::new(x) }
174
+ | ++++
175
+
176
+ error[E0261]: use of undeclared lifetime name `'a`
177
+ |
178
+ LL | fn elided3(_: &impl Copy + 'a) -> Box<dyn 'a> { Box::new(x) }
179
+ | ^^ undeclared lifetime
180
+ |
181
+ help: consider introducing lifetime `'a` here
182
+ |
183
+ LL | fn elided3<'a>(_: &impl Copy + 'a) -> Box<dyn 'a> { Box::new(x) }
184
+ | ++++
185
+
186
+ error[E0261]: use of undeclared lifetime name `'a`
187
+ |
188
+ LL | fn x<'b>(_: &'a impl Copy + 'a) -> Box<dyn 'b> { Box::u32(x) }
189
+ | ^^ undeclared lifetime
190
+ |
191
+ help: consider introducing lifetime `'a` here
192
+ |
193
+ LL | fn x<'a, 'b>(_: &'a impl Copy + 'a) -> Box<dyn 'b> { Box::u32(x) }
194
+ | +++
195
+
196
+ error[E0261]: use of undeclared lifetime name `'a`
197
+ |
198
+ LL | fn x<'b>(_: &'a impl Copy + 'a) -> Box<dyn 'b> { Box::u32(x) }
199
+ | ^^ undeclared lifetime
200
+ |
201
+ help: consider introducing lifetime `'a` here
202
+ |
203
+ LL | fn x<'a, 'b>(_: &'a impl Copy + 'a) -> Box<dyn 'b> { Box::u32(x) }
204
+ | +++
205
+
206
+ error[E0261]: use of undeclared lifetime name `'a`
207
+ |
208
+ LL | fn elided4(_: &impl Copy + 'a) -> new { x(x) }
209
+ | ^^ undeclared lifetime
210
+ |
211
+ help: consider introducing lifetime `'a` here
212
+ |
213
+ LL | fn elided4<'a>(_: &impl Copy + 'a) -> new { x(x) }
214
+ | ++++
215
+
216
+ error[E0412]: cannot find type `new` in this scope
217
+ |
218
+ LL | fn elided4(_: &impl Copy + 'a) -> new { x(x) }
219
+ | ^^^ not found in this scope
220
+
221
+ error[E0224]: at least one trait is required for an object type
222
+ |
223
+ LL | fn x<'b>(_: &'a impl Copy + 'a) -> Box<dyn 'b> { Box::u32(x) }
224
+ | ^^^^^^
225
+
226
+ error[E0224]: at least one trait is required for an object type
227
+ |
228
+ LL | impl<'a> LifetimeTrait<'a> for &'a Box<dyn 'a> {}
229
+ | ^^^^^^
230
+
231
+ error[E0224]: at least one trait is required for an object type
232
+ |
233
+ LL | fn elided3(_: &impl Copy + 'a) -> Box<dyn 'a> { Box::new(x) }
234
+ | ^^^^^^
235
+
236
+ error[E0121]: the placeholder `_` is not allowed within types on item signatures for return types
237
+ |
238
+ LL | fn elided(_: &impl Copy + 'a) -> _ { x }
239
+ | ^ not allowed in type signatures
240
+
241
+ error[E0599]: no function or associated item named `u32` found for struct `Box<_, _>` in the current scope
242
+ |
243
+ LL | fn x<'b>(_: &'a impl Copy + 'a) -> Box<dyn 'b> { Box::u32(x) }
244
+ | ^^^ function or associated item not found in `Box<_, _>`
245
+ |
246
+ note: if you're trying to build a new `Box<_, _>` consider using one of the following associated functions:
247
+ Box::<T>::new
248
+ Box::<T>::new_uninit
249
+ Box::<T>::new_zeroed
250
+ Box::<T>::try_new
251
+ and 22 others
252
+ --> $SRC_DIR/alloc/src/boxed.rs:LL:COL
253
+
254
+ error: aborting due to 30 previous errors
255
+
256
+ Some errors have detailed explanations: E0121, E0224, E0261, E0412, E0599.
257
+ For more information about an error, try `rustc --explain E0121`.
0 commit comments