summaryrefslogtreecommitdiffstats
path: root/src/test/ui/error-codes/E0396.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/error-codes/E0396.rs')
-rw-r--r--src/test/ui/error-codes/E0396.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/test/ui/error-codes/E0396.rs b/src/test/ui/error-codes/E0396.rs
new file mode 100644
index 000000000..4415b70e7
--- /dev/null
+++ b/src/test/ui/error-codes/E0396.rs
@@ -0,0 +1,18 @@
+const REG_ADDR: *mut u8 = 0x5f3759df as *mut u8;
+
+const VALUE: u8 = unsafe { *REG_ADDR };
+//~^ ERROR dereferencing raw mutable pointers in constants is unstable
+
+const unsafe fn unreachable() -> ! {
+ use std::convert::Infallible;
+
+ const INFALLIBLE: *mut Infallible = &[] as *const [Infallible] as *const _ as _;
+ match *INFALLIBLE {}
+ //~^ ERROR dereferencing raw mutable pointers in constant functions is unstable
+
+ const BAD: () = unsafe { match *INFALLIBLE {} };
+ //~^ ERROR dereferencing raw mutable pointers in constants is unstable
+}
+
+fn main() {
+}