diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2013-07-16 14:54:29 -0700 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2013-07-17 14:57:56 -0700 |
| commit | 66a9b7d5bd725960b67deb3e3793e19a0ad3cea5 (patch) | |
| tree | 04469ea1f2345b7cb9d2e0399bd7cf68c48cf4e7 /src/libsyntax/parse | |
| parent | dc4bf173f824da0fc8c6813191e3b61e871117ba (diff) | |
| download | rust-66a9b7d5bd725960b67deb3e3793e19a0ad3cea5.tar.gz rust-66a9b7d5bd725960b67deb3e3793e19a0ad3cea5.zip | |
libsyntax: Remove some multi-gigabyte clones that were preventing bootstrapping on Windows.
Diffstat (limited to 'src/libsyntax/parse')
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 324be2f978d..42951543cd2 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -1925,7 +1925,7 @@ impl Parser { }; tt_seq( mk_sp(sp.lo, p.span.hi), - seq, + @mut seq, s, z ) @@ -1950,21 +1950,20 @@ impl Parser { } token::LPAREN | token::LBRACE | token::LBRACKET => { let close_delim = token::flip_delimiter(&*self.token); - tt_delim( - vec::append( - // the open delimiter: - ~[parse_any_tt_tok(self)], - vec::append( - self.parse_seq_to_before_end( - &close_delim, - seq_sep_none(), - |p| p.parse_token_tree() - ), - // the close delimiter: - [parse_any_tt_tok(self)] - ) - ) - ) + + // Parse the open delimiter. + let mut result = ~[parse_any_tt_tok(self)]; + + let trees = + self.parse_seq_to_before_end(&close_delim, + seq_sep_none(), + |p| p.parse_token_tree()); + result.push_all_move(trees); + + // Parse the close delimiter. + result.push(parse_any_tt_tok(self)); + + tt_delim(@mut result) } _ => parse_non_delim_tt_tok(self) } |
