diff options
| author | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2021-03-16 03:15:53 +0300 |
|---|---|---|
| committer | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2021-03-16 11:41:24 +0300 |
| commit | d1522b39dded68a3c442bed0b0a231020c6e2291 (patch) | |
| tree | d7c344573d658f5993154f877947f13a19a6f8bc /compiler/rustc_parse/src/parser | |
| parent | b25d3ba78118033b3f25b6de7a32e210d113872c (diff) | |
| download | rust-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.rs | 6 |
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)) } |
