aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/rust/parse/rust-parse.cc14
-rw-r--r--gcc/rust/parse/rust-parse.h2
2 files changed, 9 insertions, 7 deletions
diff --git a/gcc/rust/parse/rust-parse.cc b/gcc/rust/parse/rust-parse.cc
index 5e9443f..4624403 100644
--- a/gcc/rust/parse/rust-parse.cc
+++ b/gcc/rust/parse/rust-parse.cc
@@ -10892,7 +10892,7 @@ Parser::parse_path_based_stmt_or_expr (
case LEFT_PAREN: {
// assume struct expr tuple (as struct-enum disambiguation requires name
// lookup) again, make statement if final ';'
- ::std::unique_ptr<AST::StructExprTuple> struct_expr
+ ::std::unique_ptr<AST::CallExpr> struct_expr
= parse_struct_expr_tuple_partial (::std::move (path),
::std::move (outer_attrs));
if (struct_expr == NULL)
@@ -13229,7 +13229,7 @@ Parser::parse_struct_expr_struct_partial (
// Parses a struct expr tuple with a path in expression already parsed (but not
// '(' token).
-::std::unique_ptr<AST::StructExprTuple>
+::std::unique_ptr<AST::CallExpr>
Parser::parse_struct_expr_tuple_partial (
AST::PathInExpression path, ::std::vector<AST::Attribute> outer_attrs)
{
@@ -13272,10 +13272,12 @@ Parser::parse_struct_expr_tuple_partial (
Location path_locus = path.get_locus ();
- return ::std::unique_ptr<AST::StructExprTuple> (
- new AST::StructExprTuple (::std::move (path), ::std::move (exprs),
- ::std::move (inner_attrs),
- ::std::move (outer_attrs), path_locus));
+ auto pathExpr = ::std::unique_ptr<AST::PathInExpression> (
+ new AST::PathInExpression (::std::move (path)));
+
+ return ::std::unique_ptr<AST::CallExpr> (
+ new AST::CallExpr (::std::move (pathExpr), ::std::move (exprs),
+ ::std::move (outer_attrs), path_locus));
}
/* Parses a path in expression with the first token passed as a parameter (as it
diff --git a/gcc/rust/parse/rust-parse.h b/gcc/rust/parse/rust-parse.h
index 5abfba6..5bbfefc 100644
--- a/gcc/rust/parse/rust-parse.h
+++ b/gcc/rust/parse/rust-parse.h
@@ -407,7 +407,7 @@ private:
::std::unique_ptr<AST::StructExprStruct>
parse_struct_expr_struct_partial (AST::PathInExpression path,
::std::vector<AST::Attribute> outer_attrs);
- ::std::unique_ptr<AST::StructExprTuple>
+ ::std::unique_ptr<AST::CallExpr>
parse_struct_expr_tuple_partial (AST::PathInExpression path,
::std::vector<AST::Attribute> outer_attrs);
AST::PathInExpression parse_path_in_expression_pratt (const_TokenPtr tok);