about summary refs log tree commit diff
diff options
context:
space:
mode:
authorkennytm <kennytm@gmail.com>2018-09-01 21:14:14 +0800
committerGitHub <noreply@github.com>2018-09-01 21:14:14 +0800
commit88ebbe98bba080175441f4c6a728f6aa8426e2b4 (patch)
tree178bc5634c0a26d2d0396477e2dcfc6f6e7248a9
parentfcd76b4d3c8c1b6cc7db3d0ed1a17bf45c51818f (diff)
parent251f26298a5484b1cf6cd505c555d71d34a75010 (diff)
downloadrust-88ebbe98bba080175441f4c6a728f6aa8426e2b4.tar.gz
rust-88ebbe98bba080175441f4c6a728f6aa8426e2b4.zip
Rollup merge of #53790 - zilbuz:issue-52060, r=nikomatsakis
Add regression test for issue #52060

Fix #52060
-rw-r--r--src/test/ui/issues/issue-52060.rs8
-rw-r--r--src/test/ui/issues/issue-52060.stderr17
2 files changed, 25 insertions, 0 deletions
diff --git a/src/test/ui/issues/issue-52060.rs b/src/test/ui/issues/issue-52060.rs
new file mode 100644
index 00000000000..54eff228934
--- /dev/null
+++ b/src/test/ui/issues/issue-52060.rs
@@ -0,0 +1,8 @@
+// Regression test for https://github.com/rust-lang/rust/issues/52060
+// The compiler shouldn't ICE in this case
+static A: &'static [u32] = &[1];
+static B: [u32; 1] = [0; A.len()];
+//~^ ERROR [E0013]
+//~| ERROR `core::slice::<impl [T]>::len` is not yet stable as a const fn
+
+fn main() {}
diff --git a/src/test/ui/issues/issue-52060.stderr b/src/test/ui/issues/issue-52060.stderr
new file mode 100644
index 00000000000..988bfd480e6
--- /dev/null
+++ b/src/test/ui/issues/issue-52060.stderr
@@ -0,0 +1,17 @@
+error[E0013]: constants cannot refer to statics, use a constant instead
+  --> $DIR/issue-52060.rs:4:26
+   |
+LL | static B: [u32; 1] = [0; A.len()];
+   |                          ^
+
+error: `core::slice::<impl [T]>::len` is not yet stable as a const fn
+  --> $DIR/issue-52060.rs:4:26
+   |
+LL | static B: [u32; 1] = [0; A.len()];
+   |                          ^^^^^^^
+   |
+   = help: in Nightly builds, add `#![feature(const_slice_len)]` to the crate attributes to enable
+
+error: aborting due to 2 previous errors
+
+For more information about this error, try `rustc --explain E0013`.