about summary refs log tree commit diff
diff options
context:
space:
mode:
authorBastian Kauschke <bastian_kauschke@hotmail.de>2020-07-16 12:14:03 +0200
committerBastian Kauschke <bastian_kauschke@hotmail.de>2020-07-16 12:14:03 +0200
commitf52039d5e82df9bf8cfbe7ed1ec337c3e426acee (patch)
treef21a918a14919d7e98d7debc942246e84fdddcc2
parent01f5dd374cb1762d722ed3537779377a74774cf1 (diff)
downloadrust-f52039d5e82df9bf8cfbe7ed1ec337c3e426acee.tar.gz
rust-f52039d5e82df9bf8cfbe7ed1ec337c3e426acee.zip
add regression test for #71169
-rw-r--r--src/test/ui/const-generics/issues/issue-71169.rs10
-rw-r--r--src/test/ui/const-generics/issues/issue-71169.stderr17
2 files changed, 27 insertions, 0 deletions
diff --git a/src/test/ui/const-generics/issues/issue-71169.rs b/src/test/ui/const-generics/issues/issue-71169.rs
new file mode 100644
index 00000000000..943a16cfcd6
--- /dev/null
+++ b/src/test/ui/const-generics/issues/issue-71169.rs
@@ -0,0 +1,10 @@
+#![feature(const_generics)]
+#![allow(incomplete_features)]
+
+fn foo<const LEN: usize, const DATA: [u8; LEN]>() {}
+//~^ ERROR the type of const parameters must not
+fn main() {
+    const DATA: [u8; 4] = *b"ABCD";
+    foo::<4, DATA>();
+    //~^ ERROR constant expression depends on
+}
diff --git a/src/test/ui/const-generics/issues/issue-71169.stderr b/src/test/ui/const-generics/issues/issue-71169.stderr
new file mode 100644
index 00000000000..6d4cf4027c1
--- /dev/null
+++ b/src/test/ui/const-generics/issues/issue-71169.stderr
@@ -0,0 +1,17 @@
+error[E0770]: the type of const parameters must not depend on other generic parameters
+  --> $DIR/issue-71169.rs:4:43
+   |
+LL | fn foo<const LEN: usize, const DATA: [u8; LEN]>() {}
+   |                                           ^^^ the type must not depend on the parameter `LEN`
+
+error: constant expression depends on a generic parameter
+  --> $DIR/issue-71169.rs:8:14
+   |
+LL |     foo::<4, DATA>();
+   |              ^^^^
+   |
+   = note: this may fail depending on what value the parameter takes
+
+error: aborting due to 2 previous errors
+
+For more information about this error, try `rustc --explain E0770`.