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:
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 ..
:
#![feature(slice_patterns)] let r = &[1, 2, 3, 4]; match r { &[a, b, ..] => { // ok! println!("a={}, b={}", a, b); } }