summaryrefslogtreecommitdiffstats
path: root/tests/ui/consts/assert-type-intrinsics.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/consts/assert-type-intrinsics.rs')
-rw-r--r--tests/ui/consts/assert-type-intrinsics.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/ui/consts/assert-type-intrinsics.rs b/tests/ui/consts/assert-type-intrinsics.rs
new file mode 100644
index 000000000..b4fd423be
--- /dev/null
+++ b/tests/ui/consts/assert-type-intrinsics.rs
@@ -0,0 +1,23 @@
+#![feature(never_type)]
+#![feature(const_assert_type2)]
+#![feature(core_intrinsics)]
+
+use std::intrinsics;
+
+#[allow(invalid_value)]
+fn main() {
+ use std::mem::MaybeUninit;
+
+ const _BAD1: () = unsafe {
+ MaybeUninit::<!>::uninit().assume_init();
+ //~^ERROR: evaluation of constant value failed
+ };
+ const _BAD2: () = {
+ intrinsics::assert_mem_uninitialized_valid::<&'static i32>();
+ //~^ERROR: evaluation of constant value failed
+ };
+ const _BAD3: () = {
+ intrinsics::assert_zero_valid::<&'static i32>();
+ //~^ERROR: evaluation of constant value failed
+ };
+}