2015-02-10 22:52:00 +01:00
|
|
|
#![feature(box_patterns)]
|
2016-12-11 22:23:18 +08:00
|
|
|
#![allow(dead_code)]
|
|
|
|
#![allow(unused_variables)]
|
|
|
|
#![deny(unreachable_patterns)]
|
2015-01-07 22:35:56 +01:00
|
|
|
|
2021-08-25 02:39:40 +02:00
|
|
|
|
2014-05-20 21:34:10 -07:00
|
|
|
enum IntList {
|
2015-01-08 21:54:35 +11:00
|
|
|
Cons(isize, Box<IntList>),
|
2014-05-20 21:34:10 -07:00
|
|
|
Nil
|
|
|
|
}
|
|
|
|
|
|
|
|
fn tail(source_list: &IntList) -> IntList {
|
|
|
|
match source_list {
|
2014-11-06 00:05:53 -08:00
|
|
|
&IntList::Cons(val, box ref next_list) => tail(next_list),
|
2021-08-25 02:39:40 +02:00
|
|
|
&IntList::Cons(val, box IntList::Nil) => IntList::Cons(val, Box::new(IntList::Nil)),
|
|
|
|
//~^ ERROR unreachable pattern
|
|
|
|
_ => panic!(),
|
2014-05-20 21:34:10 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {}
|