summaryrefslogtreecommitdiffstats
path: root/tests/ui/pattern/usefulness/issue-12116.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/pattern/usefulness/issue-12116.rs')
-rw-r--r--tests/ui/pattern/usefulness/issue-12116.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/ui/pattern/usefulness/issue-12116.rs b/tests/ui/pattern/usefulness/issue-12116.rs
new file mode 100644
index 000000000..3cb92a540
--- /dev/null
+++ b/tests/ui/pattern/usefulness/issue-12116.rs
@@ -0,0 +1,21 @@
+#![feature(box_patterns)]
+#![allow(dead_code)]
+#![allow(unused_variables)]
+#![deny(unreachable_patterns)]
+
+
+enum IntList {
+ Cons(isize, Box<IntList>),
+ Nil
+}
+
+fn tail(source_list: &IntList) -> IntList {
+ match source_list {
+ &IntList::Cons(val, box ref next_list) => tail(next_list),
+ &IntList::Cons(val, box IntList::Nil) => IntList::Cons(val, Box::new(IntList::Nil)),
+ //~^ ERROR unreachable pattern
+ _ => panic!(),
+ }
+}
+
+fn main() {}