From 568cc22c3d04338f3413af19332a1c31b44dbf77 Mon Sep 17 00:00:00 2001 From: Ayaz Hafiz Date: Sat, 6 Jun 2020 11:44:28 -0700 Subject: [PATCH] Add regression test for const generic ICE in #72819 Closes #72819 --- .../issues/issue-72819-generic-in-const-eval.rs | 16 ++++++++++++++++ .../issue-72819-generic-in-const-eval.stderr | 10 ++++++++++ 2 files changed, 26 insertions(+) create mode 100644 src/test/ui/const-generics/issues/issue-72819-generic-in-const-eval.rs create mode 100644 src/test/ui/const-generics/issues/issue-72819-generic-in-const-eval.stderr 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 000000000000..d9cbc815e8ba --- /dev/null +++ b/src/test/ui/const-generics/issues/issue-72819-generic-in-const-eval.rs @@ -0,0 +1,16 @@ +#![feature(const_generics)] +#![allow(incomplete_features)] +struct Arr +where Assert::<{N < usize::max_value() / 2}>: IsTrue, //~ ERROR constant expression depends on a generic parameter +{ +} + +enum Assert {} + +trait IsTrue {} + +impl IsTrue for Assert {} + +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 000000000000..f0b761f114b3 --- /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:4: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 +