]> git.lizzy.rs Git - rust.git/blob - src/test/ui/parser/fn-header-semantic-fail.stderr
Rollup merge of #96935 - thomcc:atomicptr-strict-prov, r=dtolnay
[rust.git] / src / test / ui / parser / fn-header-semantic-fail.stderr
1 error: functions cannot be both `const` and `async`
2   --> $DIR/fn-header-semantic-fail.rs:12:5
3    |
4 LL |     const async unsafe extern "C" fn ff5() {}
5    |     ^^^^^-^^^^^------------------------------
6    |     |     |
7    |     |     `async` because of this
8    |     `const` because of this
9
10 error[E0706]: functions in traits cannot be declared `async`
11   --> $DIR/fn-header-semantic-fail.rs:17:9
12    |
13 LL |         async fn ft1();
14    |         -----^^^^^^^^^^
15    |         |
16    |         `async` because of this
17    |
18    = note: `async` trait functions are not currently supported
19    = note: consider using the `async-trait` crate: https://crates.io/crates/async-trait
20
21 error[E0379]: functions in traits cannot be declared const
22   --> $DIR/fn-header-semantic-fail.rs:19:9
23    |
24 LL |         const fn ft3();
25    |         ^^^^^ functions in traits cannot be const
26
27 error[E0379]: functions in traits cannot be declared const
28   --> $DIR/fn-header-semantic-fail.rs:21:9
29    |
30 LL |         const async unsafe extern "C" fn ft5();
31    |         ^^^^^ functions in traits cannot be const
32
33 error[E0706]: functions in traits cannot be declared `async`
34   --> $DIR/fn-header-semantic-fail.rs:21:9
35    |
36 LL |         const async unsafe extern "C" fn ft5();
37    |         ^^^^^^-----^^^^^^^^^^^^^^^^^^^^^^^^^^^^
38    |               |
39    |               `async` because of this
40    |
41    = note: `async` trait functions are not currently supported
42    = note: consider using the `async-trait` crate: https://crates.io/crates/async-trait
43
44 error: functions cannot be both `const` and `async`
45   --> $DIR/fn-header-semantic-fail.rs:21:9
46    |
47 LL |         const async unsafe extern "C" fn ft5();
48    |         ^^^^^-^^^^^----------------------------
49    |         |     |
50    |         |     `async` because of this
51    |         `const` because of this
52
53 error[E0706]: functions in traits cannot be declared `async`
54   --> $DIR/fn-header-semantic-fail.rs:29:9
55    |
56 LL |         async fn ft1() {}
57    |         -----^^^^^^^^^^^^
58    |         |
59    |         `async` because of this
60    |
61    = note: `async` trait functions are not currently supported
62    = note: consider using the `async-trait` crate: https://crates.io/crates/async-trait
63
64 error[E0379]: functions in traits cannot be declared const
65   --> $DIR/fn-header-semantic-fail.rs:32:9
66    |
67 LL |         const fn ft3() {}
68    |         ^^^^^ functions in traits cannot be const
69
70 error[E0379]: functions in traits cannot be declared const
71   --> $DIR/fn-header-semantic-fail.rs:34:9
72    |
73 LL |         const async unsafe extern "C" fn ft5() {}
74    |         ^^^^^ functions in traits cannot be const
75
76 error[E0706]: functions in traits cannot be declared `async`
77   --> $DIR/fn-header-semantic-fail.rs:34:9
78    |
79 LL |         const async unsafe extern "C" fn ft5() {}
80    |         ^^^^^^-----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
81    |               |
82    |               `async` because of this
83    |
84    = note: `async` trait functions are not currently supported
85    = note: consider using the `async-trait` crate: https://crates.io/crates/async-trait
86
87 error: functions cannot be both `const` and `async`
88   --> $DIR/fn-header-semantic-fail.rs:34:9
89    |
90 LL |         const async unsafe extern "C" fn ft5() {}
91    |         ^^^^^-^^^^^------------------------------
92    |         |     |
93    |         |     `async` because of this
94    |         `const` because of this
95
96 error: functions cannot be both `const` and `async`
97   --> $DIR/fn-header-semantic-fail.rs:47:9
98    |
99 LL |         const async unsafe extern "C" fn fi5() {}
100    |         ^^^^^-^^^^^------------------------------
101    |         |     |
102    |         |     `async` because of this
103    |         `const` because of this
104
105 error: functions in `extern` blocks cannot have qualifiers
106   --> $DIR/fn-header-semantic-fail.rs:53:18
107    |
108 LL |     extern "C" {
109    |     ---------- in this `extern` block
110 LL |         async fn fe1();
111    |                  ^^^
112    |
113 help: remove the qualifiers
114    |
115 LL |         fn fe1();
116    |         ~~
117
118 error: functions in `extern` blocks cannot have qualifiers
119   --> $DIR/fn-header-semantic-fail.rs:54:19
120    |
121 LL |     extern "C" {
122    |     ---------- in this `extern` block
123 LL |         async fn fe1();
124 LL |         unsafe fn fe2();
125    |                   ^^^
126    |
127 help: remove the qualifiers
128    |
129 LL |         fn fe2();
130    |         ~~
131
132 error: functions in `extern` blocks cannot have qualifiers
133   --> $DIR/fn-header-semantic-fail.rs:55:18
134    |
135 LL |     extern "C" {
136    |     ---------- in this `extern` block
137 ...
138 LL |         const fn fe3();
139    |                  ^^^
140    |
141 help: remove the qualifiers
142    |
143 LL |         fn fe3();
144    |         ~~
145
146 error: functions in `extern` blocks cannot have qualifiers
147   --> $DIR/fn-header-semantic-fail.rs:56:23
148    |
149 LL |     extern "C" {
150    |     ---------- in this `extern` block
151 ...
152 LL |         extern "C" fn fe4();
153    |                       ^^^
154    |
155 help: remove the qualifiers
156    |
157 LL |         fn fe4();
158    |         ~~
159
160 error: functions in `extern` blocks cannot have qualifiers
161   --> $DIR/fn-header-semantic-fail.rs:57:42
162    |
163 LL |     extern "C" {
164    |     ---------- in this `extern` block
165 ...
166 LL |         const async unsafe extern "C" fn fe5();
167    |                                          ^^^
168    |
169 help: remove the qualifiers
170    |
171 LL |         fn fe5();
172    |         ~~
173
174 error: functions cannot be both `const` and `async`
175   --> $DIR/fn-header-semantic-fail.rs:57:9
176    |
177 LL |         const async unsafe extern "C" fn fe5();
178    |         ^^^^^-^^^^^----------------------------
179    |         |     |
180    |         |     `async` because of this
181    |         `const` because of this
182
183 error[E0391]: cycle detected when computing type of `main::ff5::{opaque#0}`
184   --> $DIR/fn-header-semantic-fail.rs:12:44
185    |
186 LL |     const async unsafe extern "C" fn ff5() {}
187    |                                            ^
188    |
189 note: ...which requires borrow-checking `main::ff5`...
190   --> $DIR/fn-header-semantic-fail.rs:12:5
191    |
192 LL |     const async unsafe extern "C" fn ff5() {}
193    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
194 note: ...which requires processing `main::ff5`...
195   --> $DIR/fn-header-semantic-fail.rs:12:5
196    |
197 LL |     const async unsafe extern "C" fn ff5() {}
198    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
199 note: ...which requires const checking `main::ff5`...
200   --> $DIR/fn-header-semantic-fail.rs:12:5
201    |
202 LL |     const async unsafe extern "C" fn ff5() {}
203    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
204    = note: ...which requires computing whether `impl core::future::future::Future<Output = ()>` is freeze...
205    = note: ...which requires evaluating trait selection obligation `impl core::future::future::Future<Output = ()>: core::marker::Freeze`...
206    = note: ...which again requires computing type of `main::ff5::{opaque#0}`, completing the cycle
207 note: cycle used when checking item types in top-level module
208   --> $DIR/fn-header-semantic-fail.rs:5:1
209    |
210 LL | / #![feature(const_extern_fn)]
211 LL | |
212 LL | | fn main() {
213 LL | |     async fn ff1() {} // OK.
214 ...  |
215 LL | |     }
216 LL | | }
217    | |_^
218
219 error[E0276]: impl has stricter requirements than trait
220   --> $DIR/fn-header-semantic-fail.rs:29:9
221    |
222 LL |         async fn ft1();
223    |         --------------- definition of `ft1` from trait
224 ...
225 LL |         async fn ft1() {}
226    |         ^^^^^^^^^^^^^^ impl has extra requirement `(): Future`
227
228 error[E0276]: impl has stricter requirements than trait
229   --> $DIR/fn-header-semantic-fail.rs:34:9
230    |
231 LL |         const async unsafe extern "C" fn ft5();
232    |         --------------------------------------- definition of `ft5` from trait
233 ...
234 LL |         const async unsafe extern "C" fn ft5() {}
235    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ impl has extra requirement `(): Future`
236
237 error[E0391]: cycle detected when computing type of `main::<impl at $DIR/fn-header-semantic-fail.rs:28:5: 28:17>::ft5::{opaque#0}`
238   --> $DIR/fn-header-semantic-fail.rs:34:48
239    |
240 LL |         const async unsafe extern "C" fn ft5() {}
241    |                                                ^
242    |
243 note: ...which requires borrow-checking `main::<impl at $DIR/fn-header-semantic-fail.rs:28:5: 28:17>::ft5`...
244   --> $DIR/fn-header-semantic-fail.rs:34:9
245    |
246 LL |         const async unsafe extern "C" fn ft5() {}
247    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
248 note: ...which requires processing `main::<impl at $DIR/fn-header-semantic-fail.rs:28:5: 28:17>::ft5`...
249   --> $DIR/fn-header-semantic-fail.rs:34:9
250    |
251 LL |         const async unsafe extern "C" fn ft5() {}
252    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
253 note: ...which requires const checking `main::<impl at $DIR/fn-header-semantic-fail.rs:28:5: 28:17>::ft5`...
254   --> $DIR/fn-header-semantic-fail.rs:34:9
255    |
256 LL |         const async unsafe extern "C" fn ft5() {}
257    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
258    = note: ...which requires computing whether `impl core::future::future::Future<Output = ()>` is freeze...
259    = note: ...which requires evaluating trait selection obligation `impl core::future::future::Future<Output = ()>: core::marker::Freeze`...
260    = note: ...which again requires computing type of `main::<impl at $DIR/fn-header-semantic-fail.rs:28:5: 28:17>::ft5::{opaque#0}`, completing the cycle
261 note: cycle used when checking item types in top-level module
262   --> $DIR/fn-header-semantic-fail.rs:5:1
263    |
264 LL | / #![feature(const_extern_fn)]
265 LL | |
266 LL | | fn main() {
267 LL | |     async fn ff1() {} // OK.
268 ...  |
269 LL | |     }
270 LL | | }
271    | |_^
272
273 error[E0391]: cycle detected when computing type of `main::<impl at $DIR/fn-header-semantic-fail.rs:42:5: 42:11>::fi5::{opaque#0}`
274   --> $DIR/fn-header-semantic-fail.rs:47:48
275    |
276 LL |         const async unsafe extern "C" fn fi5() {}
277    |                                                ^
278    |
279 note: ...which requires borrow-checking `main::<impl at $DIR/fn-header-semantic-fail.rs:42:5: 42:11>::fi5`...
280   --> $DIR/fn-header-semantic-fail.rs:47:9
281    |
282 LL |         const async unsafe extern "C" fn fi5() {}
283    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
284 note: ...which requires processing `main::<impl at $DIR/fn-header-semantic-fail.rs:42:5: 42:11>::fi5`...
285   --> $DIR/fn-header-semantic-fail.rs:47:9
286    |
287 LL |         const async unsafe extern "C" fn fi5() {}
288    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
289 note: ...which requires const checking `main::<impl at $DIR/fn-header-semantic-fail.rs:42:5: 42:11>::fi5`...
290   --> $DIR/fn-header-semantic-fail.rs:47:9
291    |
292 LL |         const async unsafe extern "C" fn fi5() {}
293    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
294    = note: ...which requires computing whether `impl core::future::future::Future<Output = ()>` is freeze...
295    = note: ...which requires evaluating trait selection obligation `impl core::future::future::Future<Output = ()>: core::marker::Freeze`...
296    = note: ...which again requires computing type of `main::<impl at $DIR/fn-header-semantic-fail.rs:42:5: 42:11>::fi5::{opaque#0}`, completing the cycle
297 note: cycle used when checking item types in top-level module
298   --> $DIR/fn-header-semantic-fail.rs:5:1
299    |
300 LL | / #![feature(const_extern_fn)]
301 LL | |
302 LL | | fn main() {
303 LL | |     async fn ff1() {} // OK.
304 ...  |
305 LL | |     }
306 LL | | }
307    | |_^
308
309 error: aborting due to 23 previous errors
310
311 Some errors have detailed explanations: E0276, E0379, E0391, E0706.
312 For more information about an error, try `rustc --explain E0276`.