about summary refs log tree commit diff
path: root/compiler/rustc_parse/src/parser
diff options
context:
space:
mode:
authorVadim Petrochenkov <vadim.petrochenkov@gmail.com>2021-03-16 03:15:53 +0300
committerVadim Petrochenkov <vadim.petrochenkov@gmail.com>2021-03-16 11:41:24 +0300
commitd1522b39dded68a3c442bed0b0a231020c6e2291 (patch)
treed7c344573d658f5993154f877947f13a19a6f8bc /compiler/rustc_parse/src/parser
parentb25d3ba78118033b3f25b6de7a32e210d113872c (diff)
downloadrust-d1522b39dded68a3c442bed0b0a231020c6e2291.tar.gz
rust-d1522b39dded68a3c442bed0b0a231020c6e2291.zip
ast: Reduce size of `ExprKind` by boxing fields of `ExprKind::Struct`
Diffstat (limited to 'compiler/rustc_parse/src/parser')
-rw-r--r--compiler/rustc_parse/src/parser/expr.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler/rustc_parse/src/parser/expr.rs b/compiler/rustc_parse/src/parser/expr.rs
index 083702d9469..a3f2a8b3c57 100644
--- a/compiler/rustc_parse/src/parser/expr.rs
+++ b/compiler/rustc_parse/src/parser/expr.rs
@@ -2373,7 +2373,11 @@ impl<'a> Parser<'a> {
 
         let span = pth.span.to(self.token.span);
         self.expect(&token::CloseDelim(token::Brace))?;
-        let expr = if recover_async { ExprKind::Err } else { ExprKind::Struct(pth, fields, base) };
+        let expr = if recover_async {
+            ExprKind::Err
+        } else {
+            ExprKind::Struct(P(ast::StructExpr { path: pth, fields, rest: base }))
+        };
         Ok(self.mk_expr(span, expr, attrs))
     }