Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Error code E0528

An array or slice pattern required more elements than were present in the matched array.

Example of erroneous code:

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

Ensure that the matched array has at least as many elements as the pattern requires. You can match an arbitrary number of remaining elements with ..:

#![allow(unused)] fn main() { let r = &[1, 2, 3, 4, 5]; match r { &[a, b, c, rest @ ..] => { // ok! // prints `a=1, b=2, c=3 rest=[4, 5]` println!("a={}, b={}, c={} rest={:?}", a, b, c, rest); } } }