//@ run-pass | |
fn tuple() { | |
let x = (1, 2, 3, 4, 5); | |
match x { | |
(a, .., b, c) => { | |
assert_eq!(a, 1); | |
assert_eq!(b, 4); | |
assert_eq!(c, 5); | |
} | |
} | |
match x { | |
(a, b, c, .., d) => { | |
assert_eq!(a, 1); | |
assert_eq!(b, 2); | |
assert_eq!(c, 3); | |
assert_eq!(d, 5); | |
} | |
} | |
} | |
fn tuple_struct() { | |
struct S(u8, u8, u8, u8, u8); | |
let x = S(1, 2, 3, 4, 5); | |
match x { | |
S(a, .., b, c) => { | |
assert_eq!(a, 1); | |
assert_eq!(b, 4); | |
assert_eq!(c, 5); | |
} | |
} | |
match x { | |
S(a, b, c, .., d) => { | |
assert_eq!(a, 1); | |
assert_eq!(b, 2); | |
assert_eq!(c, 3); | |
assert_eq!(d, 5); | |
} | |
} | |
} | |
fn main() { | |
tuple(); | |
tuple_struct(); | |
} |