diff options
| author | bors <bors@rust-lang.org> | 2014-12-29 13:32:19 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2014-12-29 13:32:19 +0000 |
| commit | 3dcc409fac18a258ba2a8af4345d9566ec8eebad (patch) | |
| tree | 140cd42aa68752ae7760bf9f2765bf1ff8835189 /src/libsyntax/parse | |
| parent | 25fb12b8a5411901675ede6b147bbc6c0b7437b7 (diff) | |
| parent | 91db254c81f3c90d5d9d8b5db2660a918efef8bb (diff) | |
| download | rust-3dcc409fac18a258ba2a8af4345d9566ec8eebad.tar.gz rust-3dcc409fac18a258ba2a8af4345d9566ec8eebad.zip | |
auto merge of #19549 : huonw/rust/middle-ty-2, r=nikomatsakis
This takes building `librustc/lib.rs` from using 696 MB to 588 (`rustc --no-trans`), and 1.99 GB to 1.87 (`rustc -O`). It also reduces `sty` down to 32 bytes on platforms with 64-bit pointers, at the expense of some more side-tables in `ctxt`. I'm sure there's more gains to be had from reducing the size of the side tables (e.g. by making the actual things they're storing smaller). r? @nikomatsakis
Diffstat (limited to 'src/libsyntax/parse')
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 94b61ba56d2..a2e2abab03e 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -3746,9 +3746,9 @@ impl<'a> Parser<'a> { if id.name == token::special_idents::invalid.name { P(spanned(lo, hi, - StmtMac(spanned(lo, + StmtMac(P(spanned(lo, hi, - MacInvocTT(pth, tts, EMPTY_CTXT)), + MacInvocTT(pth, tts, EMPTY_CTXT))), style))) } else { // if it has a special ident, it's definitely an item @@ -3911,7 +3911,7 @@ impl<'a> Parser<'a> { _ => { let e = self.mk_mac_expr(span.lo, span.hi, - macro.node); + macro.and_then(|m| m.node)); let e = self.parse_dot_or_call_expr_with(e); self.handle_expression_like_statement( @@ -3940,7 +3940,7 @@ impl<'a> Parser<'a> { expr = Some( self.mk_mac_expr(span.lo, span.hi, - m.node)); + m.and_then(|x| x.node))); } _ => { stmts.push(P(Spanned { |
