diff options
| author | yukang <moorekang@gmail.com> | 2023-07-05 16:25:46 +0800 |
|---|---|---|
| committer | yukang <moorekang@gmail.com> | 2023-07-05 16:25:46 +0800 |
| commit | f25463e8483d8dcfb64cda4e96d5b4fbd11a19c8 (patch) | |
| tree | 85c89a023ace276cea7b768c742c87d353572c9d /tests/ui/parser | |
| parent | b7bc6f88ac771e1197ac9e06bf20586eeb5d0bdf (diff) | |
| download | rust-f25463e8483d8dcfb64cda4e96d5b4fbd11a19c8.tar.gz rust-f25463e8483d8dcfb64cda4e96d5b4fbd11a19c8.zip | |
Fix the issue of wrong diagnosis for extern pub fn
Diffstat (limited to 'tests/ui/parser')
| -rw-r--r-- | tests/ui/parser/issue-113342.rs | 9 | ||||
| -rw-r--r-- | tests/ui/parser/issue-113342.stderr | 11 |
2 files changed, 20 insertions, 0 deletions
diff --git a/tests/ui/parser/issue-113342.rs b/tests/ui/parser/issue-113342.rs new file mode 100644 index 00000000000..18b502736f7 --- /dev/null +++ b/tests/ui/parser/issue-113342.rs @@ -0,0 +1,9 @@ +#[link(name = "my_c_library")] +extern "C" { + fn my_c_function(x: i32) -> bool; +} + +#[no_mangle] +extern "C" pub fn id(x: i32) -> i32 { x } //~ ERROR expected `fn`, found keyword `pub` + +fn main() {} diff --git a/tests/ui/parser/issue-113342.stderr b/tests/ui/parser/issue-113342.stderr new file mode 100644 index 00000000000..a0c5e665ff8 --- /dev/null +++ b/tests/ui/parser/issue-113342.stderr @@ -0,0 +1,11 @@ +error: expected `fn`, found keyword `pub` + --> $DIR/issue-113342.rs:7:12 + | +LL | extern "C" pub fn id(x: i32) -> i32 { x } + | -----------^^^ + | | | + | | expected `fn` + | help: visibility `pub` must come before `extern "C"`: `pub extern "C"` + +error: aborting due to previous error + |
