diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2022-03-23 22:13:26 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-03-23 22:13:26 +0100 |
| commit | fab7a6a9fd68b66f7ecd2fd1b2f6cfa0277b4413 (patch) | |
| tree | 68dc82db420f9fb0b4d419ce234fe8b7fc45ec5f /src | |
| parent | 1f346bd6a5c57d8c881ca1a6d7c344db7a923e2f (diff) | |
| parent | 925857d8dcd88e243125bf8a7467c9f055ae958e (diff) | |
| download | rust-fab7a6a9fd68b66f7ecd2fd1b2f6cfa0277b4413.tar.gz rust-fab7a6a9fd68b66f7ecd2fd1b2f6cfa0277b4413.zip | |
Rollup merge of #95238 - TaKO8Ki:stop-emitting-E0026-for-struct-enum-with-underscore, r=estebank
Stop emitting E0026 for struct enums with underscores This patch resolves a part of #83263; r? `@estebank`
Diffstat (limited to 'src')
| -rw-r--r-- | src/test/ui/structs-enums/struct-enum-ignoring-field-with-underscore.rs | 12 | ||||
| -rw-r--r-- | src/test/ui/structs-enums/struct-enum-ignoring-field-with-underscore.stderr | 24 |
2 files changed, 36 insertions, 0 deletions
diff --git a/src/test/ui/structs-enums/struct-enum-ignoring-field-with-underscore.rs b/src/test/ui/structs-enums/struct-enum-ignoring-field-with-underscore.rs new file mode 100644 index 00000000000..c30b8a1e1f1 --- /dev/null +++ b/src/test/ui/structs-enums/struct-enum-ignoring-field-with-underscore.rs @@ -0,0 +1,12 @@ +enum Foo { + Bar { bar: bool }, + Other, +} + +fn main() { + let foo = Some(Foo::Other); + + if let Some(Foo::Bar {_}) = foo {} + //~^ ERROR expected identifier, found reserved identifier `_` + //~| ERROR pattern does not mention field `bar` [E0027] +} diff --git a/src/test/ui/structs-enums/struct-enum-ignoring-field-with-underscore.stderr b/src/test/ui/structs-enums/struct-enum-ignoring-field-with-underscore.stderr new file mode 100644 index 00000000000..16f751444a5 --- /dev/null +++ b/src/test/ui/structs-enums/struct-enum-ignoring-field-with-underscore.stderr @@ -0,0 +1,24 @@ +error: expected identifier, found reserved identifier `_` + --> $DIR/struct-enum-ignoring-field-with-underscore.rs:9:27 + | +LL | if let Some(Foo::Bar {_}) = foo {} + | ^ expected identifier, found reserved identifier + +error[E0027]: pattern does not mention field `bar` + --> $DIR/struct-enum-ignoring-field-with-underscore.rs:9:17 + | +LL | if let Some(Foo::Bar {_}) = foo {} + | ^^^^^^^^^^^^ missing field `bar` + | +help: include the missing field in the pattern + | +LL | if let Some(Foo::Bar {_, bar }) = foo {} + | ~~~~~~~ +help: if you don't care about this missing field, you can explicitly ignore it + | +LL | if let Some(Foo::Bar {_, .. }) = foo {} + | ~~~~~~ + +error: aborting due to 2 previous errors + +For more information about this error, try `rustc --explain E0027`. |
