about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorDylan DPC <dylan.dpc@gmail.com>2020-06-10 11:03:47 +0200
committerGitHub <noreply@github.com>2020-06-10 11:03:47 +0200
commit0a77c8c2956259eb6811b51fac095c8ed21e6760 (patch)
treeaa70351b81e6d387a0fbac07028c2af5e36a5842 /src
parente1cd8c41a559276a2a8ff62085ded220cccb88f3 (diff)
parent2981395d0c4c07e4700bfe10168f7df540c2157e (diff)
downloadrust-0a77c8c2956259eb6811b51fac095c8ed21e6760.tar.gz
rust-0a77c8c2956259eb6811b51fac095c8ed21e6760.zip
Rollup merge of #73070 - ayazhafiz:i/72819, r=nikomatsakis
Add regression test for const generic ICE in #72819

Closes #72819
Diffstat (limited to 'src')
-rw-r--r--src/test/ui/const-generics/issues/issue-72819-generic-in-const-eval.rs20
-rw-r--r--src/test/ui/const-generics/issues/issue-72819-generic-in-const-eval.stderr10
2 files changed, 30 insertions, 0 deletions
diff --git a/src/test/ui/const-generics/issues/issue-72819-generic-in-const-eval.rs b/src/test/ui/const-generics/issues/issue-72819-generic-in-const-eval.rs
new file mode 100644
index 00000000000..225593c3178
--- /dev/null
+++ b/src/test/ui/const-generics/issues/issue-72819-generic-in-const-eval.rs
@@ -0,0 +1,20 @@
+// Regression test for #72819: ICE due to failure in resolving the const generic in `Arr`'s type
+// bounds.
+
+#![feature(const_generics)]
+#![allow(incomplete_features)]
+struct Arr<const N: usize>
+where Assert::<{N < usize::max_value() / 2}>: IsTrue,
+//~^ ERROR constant expression depends on a generic parameter
+{
+}
+
+enum Assert<const CHECK: bool> {}
+
+trait IsTrue {}
+
+impl IsTrue for Assert<true> {}
+
+fn main() {
+    let x: Arr<{usize::max_value()}> = Arr {};
+}
diff --git a/src/test/ui/const-generics/issues/issue-72819-generic-in-const-eval.stderr b/src/test/ui/const-generics/issues/issue-72819-generic-in-const-eval.stderr
new file mode 100644
index 00000000000..a9f664d0ac8
--- /dev/null
+++ b/src/test/ui/const-generics/issues/issue-72819-generic-in-const-eval.stderr
@@ -0,0 +1,10 @@
+error: constant expression depends on a generic parameter
+  --> $DIR/issue-72819-generic-in-const-eval.rs:7:47
+   |
+LL | where Assert::<{N < usize::max_value() / 2}>: IsTrue,
+   |                                               ^^^^^^
+   |
+   = note: this may fail depending on what value the parameter takes
+
+error: aborting due to previous error
+