| 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 |
| } |
| } |