diff options
| author | Yuki Okushi <jtitor@2k36.org> | 2022-07-17 08:50:41 +0900 |
|---|---|---|
| committer | Yuki Okushi <jtitor@2k36.org> | 2022-07-17 08:50:41 +0900 |
| commit | a94e6c78a2f2ceefbfc8781d885eb74a69a5d542 (patch) | |
| tree | 4163d4910e7346e0f6408ee9410deccede893d4b | |
| parent | d5e7f4782e4b699728d0a08200ecd1a54d56a85d (diff) | |
| download | rust-a94e6c78a2f2ceefbfc8781d885eb74a69a5d542.tar.gz rust-a94e6c78a2f2ceefbfc8781d885eb74a69a5d542.zip | |
Add regression test for #95829
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
| -rw-r--r-- | src/test/ui/extern/issue-95829.rs | 10 | ||||
| -rw-r--r-- | src/test/ui/extern/issue-95829.stderr | 32 |
2 files changed, 42 insertions, 0 deletions
diff --git a/src/test/ui/extern/issue-95829.rs b/src/test/ui/extern/issue-95829.rs new file mode 100644 index 00000000000..3379148ae7b --- /dev/null +++ b/src/test/ui/extern/issue-95829.rs @@ -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() {} diff --git a/src/test/ui/extern/issue-95829.stderr b/src/test/ui/extern/issue-95829.stderr new file mode 100644 index 00000000000..b902f0ef8f5 --- /dev/null +++ b/src/test/ui/extern/issue-95829.stderr @@ -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 + |
