diff options
Diffstat (limited to 'gcc/rust/parse/rust-parse-impl.h')
-rw-r--r-- | gcc/rust/parse/rust-parse-impl.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/rust/parse/rust-parse-impl.h b/gcc/rust/parse/rust-parse-impl.h index dfac00e..9a28f6c 100644 --- a/gcc/rust/parse/rust-parse-impl.h +++ b/gcc/rust/parse/rust-parse-impl.h @@ -4415,7 +4415,12 @@ Parser<ManagedTokenSource>::parse_enum_item () // tuple enum item lexer.skip_token (); - std::vector<AST::TupleField> tuple_fields = parse_tuple_fields (); + std::vector<AST::TupleField> tuple_fields; + // Might be empty tuple for unit tuple enum variant. + if (lexer.peek_token ()->get_id () == RIGHT_PAREN) + tuple_fields = std::vector<AST::TupleField> (); + else + tuple_fields = parse_tuple_fields (); if (!skip_token (RIGHT_PAREN)) { |