summaryrefslogtreecommitdiffstats
path: root/tests/ui/consts/issue-67696-const-prop-ice.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/consts/issue-67696-const-prop-ice.rs')
-rw-r--r--tests/ui/consts/issue-67696-const-prop-ice.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/ui/consts/issue-67696-const-prop-ice.rs b/tests/ui/consts/issue-67696-const-prop-ice.rs
new file mode 100644
index 000000000..ad52608b3
--- /dev/null
+++ b/tests/ui/consts/issue-67696-const-prop-ice.rs
@@ -0,0 +1,20 @@
+// check-pass
+// compile-flags: --emit=mir,link
+// Checks that we don't ICE due to attempting to run const prop
+// on a function with unsatisifable 'where' clauses
+
+#![allow(unused)]
+
+trait A {
+ fn foo(&self) -> Self where Self: Copy;
+}
+
+impl A for [fn(&())] {
+ fn foo(&self) -> Self where Self: Copy { *(&[] as &[_]) }
+}
+
+impl A for i32 {
+ fn foo(&self) -> Self { 3 }
+}
+
+fn main() {}