about summary refs log tree commit diff
diff options
context:
space:
mode:
authorDylan MacKenzie <ecstaticmorse@gmail.com>2020-05-20 14:55:38 -0700
committerDylan MacKenzie <ecstaticmorse@gmail.com>2020-05-20 14:55:38 -0700
commit09619bc4592418aa66a77bf90c6c2efbd648d103 (patch)
tree5db8cfcc6e5f840f667ed130dbc791eee93261a3
parent119efbcbfb42115adf04db98cf3fad20e13d25d9 (diff)
downloadrust-09619bc4592418aa66a77bf90c6c2efbd648d103.tar.gz
rust-09619bc4592418aa66a77bf90c6c2efbd648d103.zip
Add regression test for #72394
-rw-r--r--src/test/ui/unsafe/unsafe-unstable-const-fn.rs13
-rw-r--r--src/test/ui/unsafe/unsafe-unstable-const-fn.stderr11
2 files changed, 24 insertions, 0 deletions
diff --git a/src/test/ui/unsafe/unsafe-unstable-const-fn.rs b/src/test/ui/unsafe/unsafe-unstable-const-fn.rs
new file mode 100644
index 00000000000..d9d85ee9132
--- /dev/null
+++ b/src/test/ui/unsafe/unsafe-unstable-const-fn.rs
@@ -0,0 +1,13 @@
+#![stable(feature = "foo", since = "1.33.0")]
+#![feature(staged_api)]
+#![feature(const_compare_raw_pointers)]
+#![feature(const_fn)]
+
+#[stable(feature = "foo", since = "1.33.0")]
+#[rustc_const_unstable(feature = "const_foo", issue = "none")]
+const fn unstable(a: *const i32, b: *const i32) -> bool {
+    a == b
+    //~^ pointer operation is unsafe
+}
+
+fn main() {}
diff --git a/src/test/ui/unsafe/unsafe-unstable-const-fn.stderr b/src/test/ui/unsafe/unsafe-unstable-const-fn.stderr
new file mode 100644
index 00000000000..d8f3737c8f5
--- /dev/null
+++ b/src/test/ui/unsafe/unsafe-unstable-const-fn.stderr
@@ -0,0 +1,11 @@
+error[E0133]: pointer operation is unsafe and requires unsafe function or block
+  --> $DIR/unsafe-unstable-const-fn.rs:9:5
+   |
+LL |     a == b
+   |     ^^^^^^ pointer operation
+   |
+   = note: operations on pointers in constants
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0133`.