An array or slice pattern required more elements than were present in the matched array. Example of erroneous code: ```compile_fail,E0528 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 `..`: ``` 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); } } ```