# Error code E0527

The number of elements in an array or slice pattern differed from the number of elements in the array being matched.

Example of erroneous code:

    #![allow(unused)]
    fn main() {
    let r = &[1, 2, 3, 4];
    match r {
        &[a, b] => { // error: pattern requires 2 elements but array
                     //        has 4
            println!("a={}, b={}", a, b);
        }
    }
    }

Ensure that the pattern is consistent with the size of the matched array. Additional elements can be matched with `..`:

    #![allow(unused)]
    fn main() {
    let r = &[1, 2, 3, 4];
    match r {
        &[a, b, ..] => { // ok!
            println!("a={}, b={}", a, b);
        }
    }
    }