rust/src/test/run-pass/vec-matching-autoslice.rs

25 lines
532 B
Rust
Raw Normal View History

#[feature(managed_boxes)];
pub fn main() {
2012-12-15 17:13:55 -06:00
let x = @[1, 2, 3];
match x {
2013-11-28 14:22:53 -06:00
[2, ..] => fail!(),
2012-12-15 17:13:55 -06:00
[1, ..tail] => {
assert_eq!(tail, [2, 3]);
2012-12-15 17:13:55 -06:00
}
[_] => fail!(),
[] => fail!()
2012-12-15 17:13:55 -06:00
}
let y = (~[(1, true), (2, false)], 0.5);
match y {
([_, _, _], 0.5) => fail!(),
2012-12-15 17:13:55 -06:00
([(1, a), (b, false), ..tail], _) => {
assert_eq!(a, true);
assert_eq!(b, 2);
2013-03-28 20:39:09 -05:00
assert!(tail.is_empty());
2012-12-15 17:13:55 -06:00
}
([.._tail], _) => fail!()
2012-12-15 17:13:55 -06:00
}
}