Skip to content

Commit

Permalink
Add regression test for #95829
Browse files Browse the repository at this point in the history
Signed-off-by: Yuki Okushi <[email protected]>
  • Loading branch information
JohnTitor committed Jul 16, 2022
1 parent d5e7f47 commit a94e6c7
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 0 deletions.
10 changes: 10 additions & 0 deletions src/test/ui/extern/issue-95829.rs
Original file line number Diff line number Diff line change
@@ -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 changes: 32 additions & 0 deletions src/test/ui/extern/issue-95829.stderr
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit a94e6c7

Please sign in to comment.