about summary refs log tree commit diff
path: root/src/libsyntax/parse/common.rs
diff options
context:
space:
mode:
authorErick Tryzelaar <erick.tryzelaar@gmail.com>2013-02-28 07:25:31 -0800
committerErick Tryzelaar <erick.tryzelaar@gmail.com>2013-02-28 07:25:31 -0800
commit3953bdd812d73a51f9a7be4a1c57c60d56c6aa1a (patch)
tree8dbdab63811771af7a14543a97636fc30ccc07f2 /src/libsyntax/parse/common.rs
parent7f5d4cbda027482cfeb554c5bc30551377a668a2 (diff)
parentd0a12347dec3045eaf8dcded7add914d4491276f (diff)
downloadrust-3953bdd812d73a51f9a7be4a1c57c60d56c6aa1a.tar.gz
rust-3953bdd812d73a51f9a7be4a1c57c60d56c6aa1a.zip
Merge remote-tracking branch 'remotes/origin/incoming' into incoming
Diffstat (limited to 'src/libsyntax/parse/common.rs')
-rw-r--r--src/libsyntax/parse/common.rs24
1 files changed, 6 insertions, 18 deletions
diff --git a/src/libsyntax/parse/common.rs b/src/libsyntax/parse/common.rs
index 28c5bf721a1..f538ed8030c 100644
--- a/src/libsyntax/parse/common.rs
+++ b/src/libsyntax/parse/common.rs
@@ -20,6 +20,9 @@ use core::option::{None, Option, Some};
 use core::option;
 use std::oldmap::HashMap;
 
+use opt_vec;
+use opt_vec::OptVec;
+
 // SeqSep : a sequence separator (token)
 // and whether a trailing separator is allowed.
 pub struct SeqSep {
@@ -251,9 +254,9 @@ pub impl Parser {
     fn parse_seq_to_before_gt<T: Copy>(
         sep: Option<token::Token>,
         f: fn(&Parser) -> T
-    ) -> ~[T] {
+    ) -> OptVec<T> {
         let mut first = true;
-        let mut v = ~[];
+        let mut v = opt_vec::Empty;
         while *self.token != token::GT
             && *self.token != token::BINOP(token::SHR) {
             match sep {
@@ -265,33 +268,18 @@ pub impl Parser {
             }
             v.push(f(&self));
         }
-
         return v;
     }
 
     fn parse_seq_to_gt<T: Copy>(
         sep: Option<token::Token>,
         f: fn(&Parser) -> T
-    ) -> ~[T] {
+    ) -> OptVec<T> {
         let v = self.parse_seq_to_before_gt(sep, f);
         self.expect_gt();
-
         return v;
     }
 
-    // parse a sequence bracketed by '<' and '>'
-    fn parse_seq_lt_gt<T: Copy>(
-        sep: Option<token::Token>,
-        f: fn(&Parser) -> T
-    ) -> spanned<~[T]> {
-        let lo = self.span.lo;
-        self.expect(&token::LT);
-        let result = self.parse_seq_to_before_gt::<T>(sep, f);
-        let hi = self.span.hi;
-        self.expect_gt();
-        return spanned(lo, hi, result);
-    }
-
     // parse a sequence, including the closing delimiter. The function
     // f must consume tokens until reaching the next separator or
     // closing bracket.