struct S(i32, f32); enum E { S(i32, f32), } struct Point4(i32, i32, i32, i32); fn main() { match S(0, 1.0) { S(x) => {} //~^ ERROR this pattern has 1 field, but the corresponding tuple struct has 2 fields //~| HELP use `_` to explicitly ignore each field } match S(0, 1.0) { S(_) => {} //~^ ERROR this pattern has 1 field, but the corresponding tuple struct has 2 fields //~| HELP use `_` to explicitly ignore each field //~| HELP use `..` to ignore all fields } match S(0, 1.0) { S() => {} //~^ ERROR this pattern has 0 fields, but the corresponding tuple struct has 2 fields //~| HELP use `_` to explicitly ignore each field //~| HELP use `..` to ignore all fields // Test non-standard formatting S () => {} //~^ ERROR this pattern has 0 fields, but the corresponding tuple struct has 2 fields //~| HELP use `_` to explicitly ignore each field //~| HELP use `..` to ignore all fields } match E::S(0, 1.0) { E::S(x) => {} //~^ ERROR this pattern has 1 field, but the corresponding tuple variant has 2 fields //~| HELP use `_` to explicitly ignore each field } match E::S(0, 1.0) { E::S(_) => {} //~^ ERROR this pattern has 1 field, but the corresponding tuple variant has 2 fields //~| HELP use `_` to explicitly ignore each field //~| HELP use `..` to ignore all fields } match E::S(0, 1.0) { E::S() => {} //~^ ERROR this pattern has 0 fields, but the corresponding tuple variant has 2 fields //~| HELP use `_` to explicitly ignore each field //~| HELP use `..` to ignore all fields // Test non-standard formatting E::S () => {} //~^ ERROR this pattern has 0 fields, but the corresponding tuple variant has 2 fields //~| HELP use `_` to explicitly ignore each field //~| HELP use `..` to ignore all fields } match E::S(0, 1.0) { E::S => {} //~^ ERROR expected unit struct, unit variant or constant, found tuple variant `E::S` //~| HELP use the tuple variant pattern syntax instead } match Point4(0, 1, 2, 3) { Point4( a , _ ) => {} //~^ ERROR this pattern has 2 fields, but the corresponding tuple struct has 4 fields //~| HELP use `_` to explicitly ignore each field //~| HELP use `..` to ignore the rest of the fields } }