pub fn main() { let x = @[1, 2, 3]; match x { [2, .._] => ::core::util::unreachable(), [1, ..tail] => { assert tail == [2, 3]; } [_] => ::core::util::unreachable(), [] => ::core::util::unreachable() } let y = (~[(1, true), (2, false)], 0.5); match y { ([_, _, _], 0.5) => ::core::util::unreachable(), ([(1, a), (b, false), ..tail], _) => { assert a == true; assert b == 2; assert tail.is_empty(); } ([..tail], _) => ::core::util::unreachable() } }