about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorYuki Okushi <huyuumi.dev@gmail.com>2020-04-16 10:09:34 +0900
committerYuki Okushi <huyuumi.dev@gmail.com>2020-04-17 06:16:14 +0900
commit077a7f741fcc1c2f9ea31dbc23b8fee5820c3cb5 (patch)
tree4ac4a25075150e13fc955a4d1998c23afc065687 /src/test
parent9fb3f552114cb61cc7070af1f02a1b65226d3b3d (diff)
downloadrust-077a7f741fcc1c2f9ea31dbc23b8fee5820c3cb5.tar.gz
rust-077a7f741fcc1c2f9ea31dbc23b8fee5820c3cb5.zip
Add test for issue-28575
Diffstat (limited to 'src/test')
-rw-r--r--src/test/ui/intrinsics/issue-28575.rs9
-rw-r--r--src/test/ui/intrinsics/issue-28575.stderr11
2 files changed, 20 insertions, 0 deletions
diff --git a/src/test/ui/intrinsics/issue-28575.rs b/src/test/ui/intrinsics/issue-28575.rs
new file mode 100644
index 00000000000..141136d25b2
--- /dev/null
+++ b/src/test/ui/intrinsics/issue-28575.rs
@@ -0,0 +1,9 @@
+#![feature(intrinsics)]
+
+extern "C" {
+    pub static FOO: extern "rust-intrinsic" fn();
+}
+
+fn main() {
+    FOO() //~ ERROR: use of extern static is unsafe
+}
diff --git a/src/test/ui/intrinsics/issue-28575.stderr b/src/test/ui/intrinsics/issue-28575.stderr
new file mode 100644
index 00000000000..66369decf42
--- /dev/null
+++ b/src/test/ui/intrinsics/issue-28575.stderr
@@ -0,0 +1,11 @@
+error[E0133]: use of extern static is unsafe and requires unsafe function or block
+  --> $DIR/issue-28575.rs:8:5
+   |
+LL |     FOO()
+   |     ^^^ use of extern static
+   |
+   = note: extern statics are not controlled by the Rust type system: invalid data, aliasing violations or data races will cause undefined behavior
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0133`.