Rollup merge of #99354 - JohnTitor:issue-95829, r=compiler-errors

Add regression test for #95829

Closes #95829
r? `@compiler-errors`

Signed-off-by: Yuki Okushi <jtitor@2k36.org>
This commit is contained in:
Yuki Okushi 2022-07-17 13:08:53 +09:00 committed by GitHub
commit 1d193236b0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 42 additions and 0 deletions

10
src/test/ui/extern/issue-95829.rs vendored Normal file
View File

@ -0,0 +1,10 @@
// edition:2018
extern {
async fn L() { //~ ERROR: incorrect function inside `extern` block
//~^ ERROR: functions in `extern` blocks cannot have qualifiers
async fn M() {}
}
}
fn main() {}

32
src/test/ui/extern/issue-95829.stderr vendored Normal file
View File

@ -0,0 +1,32 @@
error: incorrect function inside `extern` block
--> $DIR/issue-95829.rs:4:14
|
LL | extern {
| ------ `extern` blocks define existing foreign functions and functions inside of them cannot have a body
LL | async fn L() {
| ______________^___-
| | |
| | cannot have a body
LL | |
LL | | async fn M() {}
LL | | }
| |_____- help: remove the invalid body: `;`
|
= help: you might have meant to write a function accessible through FFI, which can be done by writing `extern fn` outside of the `extern` block
= note: for more information, visit https://doc.rust-lang.org/std/keyword.extern.html
error: functions in `extern` blocks cannot have qualifiers
--> $DIR/issue-95829.rs:4:14
|
LL | extern {
| ------ in this `extern` block
LL | async fn L() {
| ^
|
help: remove the qualifiers
|
LL | fn L() {
| ~~
error: aborting due to 2 previous errors