//@ run-pass fn tuple() { struct S; struct Z; struct W; let x = (S, Z, W); match x { (S, ..) => {} } match x { (.., W) => {} } match x { (S, .., W) => {} } match x { (.., Z, _) => {} } } fn tuple_struct() { struct SS(S, Z, W); struct S; struct Z; struct W; let x = SS(S, Z, W); match x { SS(S, ..) => {} } match x { SS(.., W) => {} } match x { SS(S, .., W) => {} } match x { SS(.., Z, _) => {} } } fn main() { tuple(); tuple_struct(); }