diff options
| author | Esteban Küber <esteban@kuber.com.ar> | 2021-05-01 12:58:15 -0700 |
|---|---|---|
| committer | Esteban Küber <esteban@kuber.com.ar> | 2021-05-11 18:48:57 -0700 |
| commit | 7697ce4560b7799f5fb7e48524b5a347ba893b4e (patch) | |
| tree | b0b0ff87e0ac2fb1e7b72bafa3a03a10ddfcee6f /src/test/ui/parser/struct-default-values-and-missing-field-separator.fixed | |
| parent | 890803d3722b5cf8810ae1f49b4d9f062a87c927 (diff) | |
| download | rust-7697ce4560b7799f5fb7e48524b5a347ba893b4e.tar.gz rust-7697ce4560b7799f5fb7e48524b5a347ba893b4e.zip | |
Recover from invalid `struct` item syntax
Parse unsupported "default field const values":
```rust
struct S {
field: Type = const_val,
}
```
Recover from small `:` typo and provide suggestion:
```rust
struct S {
field; Type,
field2= Type,
}
```
Diffstat (limited to 'src/test/ui/parser/struct-default-values-and-missing-field-separator.fixed')
| -rw-r--r-- | src/test/ui/parser/struct-default-values-and-missing-field-separator.fixed | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/test/ui/parser/struct-default-values-and-missing-field-separator.fixed b/src/test/ui/parser/struct-default-values-and-missing-field-separator.fixed new file mode 100644 index 00000000000..28191b82621 --- /dev/null +++ b/src/test/ui/parser/struct-default-values-and-missing-field-separator.fixed @@ -0,0 +1,35 @@ +// run-rustfix +#![allow(dead_code)] + +enum E { + A, +} + +struct S { + field1: i32, //~ ERROR default values on `struct` fields aren't supported + field2: E, //~ ERROR default values on `struct` fields aren't supported + field3: i32, //~ ERROR default values on `struct` fields aren't supported + field4: i32, //~ ERROR default values on `struct` fields aren't supported + field5: E, //~ ERROR default values on `struct` fields aren't supported + field6: E, //~ ERROR default values on `struct` fields aren't supported +} + +struct S1 { + field1: i32, //~ ERROR expected `,`, or `}`, found `field2` + field2: E, //~ ERROR expected `,`, or `}`, found `field3` + field3: i32, //~ ERROR default values on `struct` fields aren't supported + field4: i32, //~ ERROR default values on `struct` fields aren't supported + field5: E, //~ ERROR default values on `struct` fields aren't supported + field6: E, //~ ERROR default values on `struct` fields aren't supported +} + +struct S2 { + field1 : i32, //~ ERROR expected `:`, found `=` + field2: E, //~ ERROR expected `:`, found `;` +} + +const fn foo(_: i32) -> E { + E::A +} + +fn main() {} |
