about summary refs log tree commit diff
path: root/src/test/ui/consts
diff options
context:
space:
mode:
authorOliver Scherer <github35764891676564198441@oli-obk.de>2018-12-17 14:20:42 +0100
committerOliver Scherer <github35764891676564198441@oli-obk.de>2018-12-21 11:27:29 +0100
commitf8e508cde4854cc4da4333a33696f0e67d366d78 (patch)
tree1d56e1dadf314226a98198c28337530568be8c62 /src/test/ui/consts
parent6d34ec18c7d7e574553f6347ecf08e1e1c45c13d (diff)
downloadrust-f8e508cde4854cc4da4333a33696f0e67d366d78.tar.gz
rust-f8e508cde4854cc4da4333a33696f0e67d366d78.zip
Fix a recently introduces regression
Diffstat (limited to 'src/test/ui/consts')
-rw-r--r--src/test/ui/consts/static_mut_containing_mut_ref.rs7
-rw-r--r--src/test/ui/consts/static_mut_containing_mut_ref2.rs8
-rw-r--r--src/test/ui/consts/static_mut_containing_mut_ref2.stderr9
3 files changed, 24 insertions, 0 deletions
diff --git a/src/test/ui/consts/static_mut_containing_mut_ref.rs b/src/test/ui/consts/static_mut_containing_mut_ref.rs
new file mode 100644
index 00000000000..27e1a111163
--- /dev/null
+++ b/src/test/ui/consts/static_mut_containing_mut_ref.rs
@@ -0,0 +1,7 @@
+// compile-pass
+
+static mut STDERR_BUFFER_SPACE: [u8; 42] = [0u8; 42];
+
+pub static mut STDERR_BUFFER: *mut [u8] = unsafe { &mut STDERR_BUFFER_SPACE };
+
+fn main() {}
diff --git a/src/test/ui/consts/static_mut_containing_mut_ref2.rs b/src/test/ui/consts/static_mut_containing_mut_ref2.rs
new file mode 100644
index 00000000000..aa9bfb4aeab
--- /dev/null
+++ b/src/test/ui/consts/static_mut_containing_mut_ref2.rs
@@ -0,0 +1,8 @@
+#![feature(const_let)]
+
+static mut STDERR_BUFFER_SPACE: u8 = 0;
+
+pub static mut STDERR_BUFFER: () = unsafe { *(&mut STDERR_BUFFER_SPACE) = 42; };
+//~^ references in statics may only refer to immutable values
+
+fn main() {}
diff --git a/src/test/ui/consts/static_mut_containing_mut_ref2.stderr b/src/test/ui/consts/static_mut_containing_mut_ref2.stderr
new file mode 100644
index 00000000000..72923431c90
--- /dev/null
+++ b/src/test/ui/consts/static_mut_containing_mut_ref2.stderr
@@ -0,0 +1,9 @@
+error[E0017]: references in statics may only refer to immutable values
+  --> $DIR/static_mut_containing_mut_ref2.rs:5:46
+   |
+LL | pub static mut STDERR_BUFFER: () = unsafe { *(&mut STDERR_BUFFER_SPACE) = 42; };
+   |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^ statics require immutable values
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0017`.