summaryrefslogtreecommitdiffstats
path: root/src/test/ui/consts/const-eval/match-test-ptr-null.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/consts/const-eval/match-test-ptr-null.rs')
-rw-r--r--src/test/ui/consts/const-eval/match-test-ptr-null.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/test/ui/consts/const-eval/match-test-ptr-null.rs b/src/test/ui/consts/const-eval/match-test-ptr-null.rs
new file mode 100644
index 000000000..4af97b548
--- /dev/null
+++ b/src/test/ui/consts/const-eval/match-test-ptr-null.rs
@@ -0,0 +1,12 @@
+fn main() {
+ // Make sure match uses the usual pointer comparison code path -- i.e., it should complain
+ // that pointer comparison is disallowed, not that parts of a pointer are accessed as raw
+ // bytes.
+ let _: [u8; 0] = [4; {
+ match &1 as *const i32 as usize {
+ //~^ ERROR pointers cannot be cast to integers during const eval
+ 0 => 42,
+ n => n,
+ }
+ }];
+}