diff options
author | Owen Avery <powerboat9.gamer@gmail.com> | 2023-02-13 20:32:51 -0500 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2023-04-06 10:47:23 +0200 |
commit | 20529dff93f10f782b9dbee51fa58928945d0be3 (patch) | |
tree | 29e744f4f0d98e3c99dc05cba4329ba084c15d13 /gcc/rust | |
parent | 7b00a80c9df488de64f4c166af07bcb9bb3e4c6d (diff) | |
download | gcc-20529dff93f10f782b9dbee51fa58928945d0be3.zip gcc-20529dff93f10f782b9dbee51fa58928945d0be3.tar.gz gcc-20529dff93f10f782b9dbee51fa58928945d0be3.tar.bz2 |
gccrs: Add support for parsing empty tuple patterns.
gcc/rust/ChangeLog:
* parse/rust-parse-impl.h
(Parser::parse_grouped_or_tuple_pattern): Add support for empty tuple patterns.
gcc/testsuite/ChangeLog:
* rust/compile/parse_empty_tuple_pattern.rs: New test.
Signed-off-by: Owen Avery <powerboat9.gamer@gmail.com>
Diffstat (limited to 'gcc/rust')
-rw-r--r-- | gcc/rust/parse/rust-parse-impl.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/rust/parse/rust-parse-impl.h b/gcc/rust/parse/rust-parse-impl.h index 4ceb978..cc5436c 100644 --- a/gcc/rust/parse/rust-parse-impl.h +++ b/gcc/rust/parse/rust-parse-impl.h @@ -10926,6 +10926,15 @@ Parser<ManagedTokenSource>::parse_grouped_or_tuple_pattern () return std::unique_ptr<AST::TuplePattern> ( new AST::TuplePattern (std::move (items), paren_locus)); } + else if (lexer.peek_token ()->get_id () == RIGHT_PAREN) + { + skip_token (RIGHT_PAREN); + auto items = std::unique_ptr<AST::TuplePatternItemsMultiple> ( + new AST::TuplePatternItemsMultiple ( + std::vector<std::unique_ptr<AST::Pattern>> ())); + return std::unique_ptr<AST::TuplePattern> ( + new AST::TuplePattern (std::move (items), paren_locus)); + } // parse initial pattern (required) std::unique_ptr<AST::Pattern> initial_pattern = parse_pattern (); |