summaryrefslogtreecommitdiffstats
path: root/tests/ui/consts/write_to_mut_ref_dest.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/consts/write_to_mut_ref_dest.rs')
-rw-r--r--tests/ui/consts/write_to_mut_ref_dest.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/ui/consts/write_to_mut_ref_dest.rs b/tests/ui/consts/write_to_mut_ref_dest.rs
new file mode 100644
index 000000000..484ec4244
--- /dev/null
+++ b/tests/ui/consts/write_to_mut_ref_dest.rs
@@ -0,0 +1,17 @@
+// revisions: stock mut_refs
+//[mut_refs] check-pass
+
+#![cfg_attr(mut_refs, feature(const_mut_refs))]
+
+use std::cell::Cell;
+
+const FOO: &u32 = {
+ let mut a = 42;
+ {
+ let b: *mut u32 = &mut a; //[stock]~ ERROR mutable references are not allowed in constants
+ unsafe { *b = 5; } //[stock]~ ERROR dereferencing raw mutable pointers in constants
+ }
+ &{a}
+};
+
+fn main() {}