From 66a9b7d5bd725960b67deb3e3793e19a0ad3cea5 Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Tue, 16 Jul 2013 14:54:29 -0700 Subject: libsyntax: Remove some multi-gigabyte clones that were preventing bootstrapping on Windows. --- src/libsyntax/parse/parser.rs | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) (limited to 'src/libsyntax/parse/parser.rs') 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) } -- cgit 1.4.1-3-g733a5