2013-02-01 21:43:17 -06:00
|
|
|
pub fn main() {
|
2012-12-15 17:13:55 -06:00
|
|
|
let x = @[1, 2, 3];
|
|
|
|
match x {
|
2013-01-07 20:54:28 -06:00
|
|
|
[2, .._] => ::core::util::unreachable(),
|
2012-12-15 17:13:55 -06:00
|
|
|
[1, ..tail] => {
|
2013-03-28 20:39:09 -05:00
|
|
|
assert!(tail == [2, 3]);
|
2012-12-15 17:13:55 -06:00
|
|
|
}
|
2013-01-07 20:54:28 -06:00
|
|
|
[_] => ::core::util::unreachable(),
|
|
|
|
[] => ::core::util::unreachable()
|
2012-12-15 17:13:55 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
let y = (~[(1, true), (2, false)], 0.5);
|
|
|
|
match y {
|
2013-01-07 20:54:28 -06:00
|
|
|
([_, _, _], 0.5) => ::core::util::unreachable(),
|
2012-12-15 17:13:55 -06:00
|
|
|
([(1, a), (b, false), ..tail], _) => {
|
2013-03-28 20:39:09 -05:00
|
|
|
assert!(a == true);
|
|
|
|
assert!(b == 2);
|
|
|
|
assert!(tail.is_empty());
|
2012-12-15 17:13:55 -06:00
|
|
|
}
|
2013-01-07 20:54:28 -06:00
|
|
|
([..tail], _) => ::core::util::unreachable()
|
2012-12-15 17:13:55 -06:00
|
|
|
}
|
|
|
|
}
|