//@ run-pass

fn main() {
    let mut x: &[_] = &[1, 2, 3, 4];

    let mut result = vec![];
    loop {
        x = match *x {
            [1, n, 3, ref rest @ ..] => {
                result.push(n);
                rest
            }
            [n, ref rest @ ..] => {
                result.push(n);
                rest
            }
            [] =>
                break
        }
    }
    assert_eq!(result, [2, 4]);
}
