about summary refs log tree commit diff
path: root/tests/ui/pattern/slice-pattern-recursion-15104.rs
blob: 24e3fe78de0afdb5afe4d303dfdd879955c7bda3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//! Regression test for https://github.com/rust-lang/rust/issues/15104

//@ run-pass

fn main() {
    assert_eq!(count_members(&[1, 2, 3, 4]), 4);
}

fn count_members(v: &[usize]) -> usize {
    match *v {
        []         => 0,
        [_]        => 1,
        [_, ref xs @ ..] => 1 + count_members(xs)
    }
}