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);
}
}
}
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/error_codes/E0527.html