about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--tests/ui/rust-2024/unsafe-extern-blocks/extern-items.rs12
-rw-r--r--tests/ui/rust-2024/unsafe-extern-blocks/extern-items.stderr8
2 files changed, 20 insertions, 0 deletions
diff --git a/tests/ui/rust-2024/unsafe-extern-blocks/extern-items.rs b/tests/ui/rust-2024/unsafe-extern-blocks/extern-items.rs
new file mode 100644
index 00000000000..de5947fc07b
--- /dev/null
+++ b/tests/ui/rust-2024/unsafe-extern-blocks/extern-items.rs
@@ -0,0 +1,12 @@
+extern "C" {
+    static TEST1: i32;
+    fn test1(i: i32);
+}
+
+unsafe extern "C" {
+    //~^ ERROR: extern block cannot be declared unsafe
+    static TEST2: i32;
+    fn test2(i: i32);
+}
+
+fn main() {}
diff --git a/tests/ui/rust-2024/unsafe-extern-blocks/extern-items.stderr b/tests/ui/rust-2024/unsafe-extern-blocks/extern-items.stderr
new file mode 100644
index 00000000000..d9585ed3db6
--- /dev/null
+++ b/tests/ui/rust-2024/unsafe-extern-blocks/extern-items.stderr
@@ -0,0 +1,8 @@
+error: extern block cannot be declared unsafe
+  --> $DIR/extern-items.rs:6:1
+   |
+LL | unsafe extern "C" {
+   | ^^^^^^
+
+error: aborting due to 1 previous error
+