diff options
| author | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2025-06-22 17:35:35 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-06-22 17:35:35 +0200 |
| commit | 194e58c75cd38475fdda7979975b0c69a0e20e3f (patch) | |
| tree | d0a039e8f0196ba45b89dd53d45d2bb16116a97c /tests | |
| parent | 2681bb095206433ba6f6d32757281a55809059a2 (diff) | |
| parent | 26a6b557172a7186c140c7aa42bf3873802a39fd (diff) | |
| download | rust-194e58c75cd38475fdda7979975b0c69a0e20e3f.tar.gz rust-194e58c75cd38475fdda7979975b0c69a0e20e3f.zip | |
Rollup merge of #142798 - camsteffen:recover-semi, r=compiler-errors
Don't fail to parse a struct if a semicolon is used to separate fields The first commit is a small refactor.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/ui/parser/recover/recover-field-semi.rs | 6 | ||||
| -rw-r--r-- | tests/ui/parser/recover/recover-field-semi.stderr | 12 |
2 files changed, 9 insertions, 9 deletions
diff --git a/tests/ui/parser/recover/recover-field-semi.rs b/tests/ui/parser/recover/recover-field-semi.rs index b703578860e..b6f235f8ad1 100644 --- a/tests/ui/parser/recover/recover-field-semi.rs +++ b/tests/ui/parser/recover/recover-field-semi.rs @@ -3,7 +3,7 @@ struct Foo { //~^ ERROR struct fields are separated by `,` } -union Bar { //~ ERROR +union Bar { foo: i32; //~^ ERROR union fields are separated by `,` } @@ -13,4 +13,6 @@ enum Baz { //~^ ERROR struct fields are separated by `,` } -fn main() {} +fn main() { + let _ = Foo { foo: "" }; //~ ERROR mismatched types +} diff --git a/tests/ui/parser/recover/recover-field-semi.stderr b/tests/ui/parser/recover/recover-field-semi.stderr index 3cf4847488c..9b1a34e134b 100644 --- a/tests/ui/parser/recover/recover-field-semi.stderr +++ b/tests/ui/parser/recover/recover-field-semi.stderr @@ -22,14 +22,12 @@ LL | Qux { foo: i32; } | | | while parsing this struct -error: unions cannot have zero fields - --> $DIR/recover-field-semi.rs:6:1 +error[E0308]: mismatched types + --> $DIR/recover-field-semi.rs:17:24 | -LL | / union Bar { -LL | | foo: i32; -LL | | -LL | | } - | |_^ +LL | let _ = Foo { foo: "" }; + | ^^ expected `i32`, found `&str` error: aborting due to 4 previous errors +For more information about this error, try `rustc --explain E0308`. |
