//@ run-pass fn a() { let x = [1, 2, 3]; match x { [1, 2, 4] => unreachable!(), [0, 2, 3, ..] => unreachable!(), [0, .., 3] => unreachable!(), [0, ..] => unreachable!(), [1, 2, 3] => (), [_, _, _] => unreachable!(), } match x { [..] => (), } match x { [_, _, _, ..] => (), } match x { [a, b, c] => { assert_eq!(1, a); assert_eq!(2, b); assert_eq!(3, c); } } } pub fn main() { a(); }