Add regression test

This commit is contained in:
inquisitivecrystal 2022-01-02 22:23:31 -08:00
parent 486585242e
commit 42de973099
2 changed files with 33 additions and 0 deletions

View File

@ -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() {}

View File

@ -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