From ca9549bdfc3dd969e9182d58038f90bbef026ded Mon Sep 17 00:00:00 2001 From: Niko Matsakis Date: Fri, 1 Mar 2013 19:38:39 -0500 Subject: Avoid calling to_vec() unnecessarily in parser. Also, rename the OptVec-to-vector conversion method to opt_vec::take_vec() and convert from a method into a fn because I fear strange bugs. --- src/libsyntax/parse/parser.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/libsyntax/parse/parser.rs') diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 9ad3e60ba84..6294243d486 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -1157,7 +1157,7 @@ pub impl Parser { let remaining_exprs = self.parse_seq_to_end(token::RBRACKET, seq_sep_trailing_allowed(token::COMMA), - |p| p.parse_expr()).to_vec(); + |p| p.parse_expr()); ex = expr_vec(~[first_expr] + remaining_exprs, mutbl); } else { // Vector with one element. @@ -1419,7 +1419,7 @@ pub impl Parser { vec::append( self.parse_seq_to_before_end( ket, seq_sep_none(), - |p| p.parse_token_tree()).to_vec(), + |p| p.parse_token_tree()), // the close delimiter: ~[parse_any_tt_tok(self)]))) } @@ -2727,7 +2727,7 @@ pub impl Parser { let result = self.parse_seq_to_gt( Some(token::COMMA), |p| p.parse_ty(false)); - result.to_vec() + opt_vec::take_vec(result) } fn parse_fn_decl(parse_arg_fn: fn(Parser) -> arg_or_capture_item) @@ -2819,7 +2819,7 @@ pub impl Parser { args_or_capture_items = self.parse_seq_to_before_end(token::RPAREN, sep, - parse_arg_fn).to_vec(); + parse_arg_fn); } token::RPAREN => { args_or_capture_items = ~[]; @@ -2835,7 +2835,7 @@ pub impl Parser { args_or_capture_items = self.parse_seq_to_before_end(token::RPAREN, sep, - parse_arg_fn).to_vec(); + parse_arg_fn); } self.expect(token::RPAREN); @@ -3032,7 +3032,7 @@ pub impl Parser { fn parse_trait_ref_list(ket: token::Token) -> ~[@trait_ref] { self.parse_seq_to_before_end( ket, seq_sep_none(), - |p| p.parse_trait_ref()).to_vec() + |p| p.parse_trait_ref()) } fn parse_item_struct() -> item_info { -- cgit 1.4.1-3-g733a5