fn foo(c: &[u32], n: u32) -> u32 {
    match *c {
        [h, ..] if h > n => 0,
        [h, ..] if h == n => 1,
        [h, ref ts..] => foo(c, n - h) + foo(ts, n),
        //~^ ERROR expected one of `,`, `@`, `]`, or `|`, found `..`
        [] => 0,
    }
}
