diff options
| author | inquisitivecrystal <22333129+inquisitivecrystal@users.noreply.github.com> | 2022-01-02 22:23:31 -0800 |
|---|---|---|
| committer | inquisitivecrystal <22333129+inquisitivecrystal@users.noreply.github.com> | 2022-01-05 15:22:22 -0800 |
| commit | 42de973099a14c0efa9059b1bf820d8a9c61f326 (patch) | |
| tree | 21dacd533df2c7496e9f85a9c1fc02829f7ec2b1 | |
| parent | 486585242e57ba184f26547c52c428dbf135e762 (diff) | |
| download | rust-42de973099a14c0efa9059b1bf820d8a9c61f326.tar.gz rust-42de973099a14c0efa9059b1bf820d8a9c61f326.zip | |
Add regression test
| -rw-r--r-- | src/test/ui/foreign/issue-91370-foreign-fn-block-impl.rs | 12 | ||||
| -rw-r--r-- | src/test/ui/foreign/issue-91370-foreign-fn-block-impl.stderr | 21 |
2 files changed, 33 insertions, 0 deletions
diff --git a/src/test/ui/foreign/issue-91370-foreign-fn-block-impl.rs b/src/test/ui/foreign/issue-91370-foreign-fn-block-impl.rs new file mode 100644 index 00000000000..2ac3ca29355 --- /dev/null +++ b/src/test/ui/foreign/issue-91370-foreign-fn-block-impl.rs @@ -0,0 +1,12 @@ +// Regression test for issue #91370. + +extern { + //~^ `extern` blocks define existing foreign functions + fn f() { + //~^ incorrect function inside `extern` block + //~| cannot have a body + impl Copy for u8 {} + } +} + +fn main() {} diff --git a/src/test/ui/foreign/issue-91370-foreign-fn-block-impl.stderr b/src/test/ui/foreign/issue-91370-foreign-fn-block-impl.stderr new file mode 100644 index 00000000000..4fb2f8c659c --- /dev/null +++ b/src/test/ui/foreign/issue-91370-foreign-fn-block-impl.stderr @@ -0,0 +1,21 @@ +error: incorrect function inside `extern` block + --> $DIR/issue-91370-foreign-fn-block-impl.rs:5:8 + | +LL | extern { + | ------ `extern` blocks define existing foreign functions and functions inside of them cannot have a body +LL | +LL | fn f() { + | ________^___- + | | | + | | cannot have a body +LL | | +LL | | +LL | | impl Copy for u8 {} +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: aborting due to previous error + |
