about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorMarijn Haverbeke <marijnh@gmail.com>2011-05-12 15:52:12 +0200
committerMarijn Haverbeke <marijnh@gmail.com>2011-05-12 15:52:12 +0200
commitdd9b6dccb4cd45c8cfab8caebd82817c106db7b8 (patch)
tree70cd58c263140d085ad7c87726e1e63916149184 /src
parent358a1aeec99ba6bf3c3f6bc5886e4dddf647a75a (diff)
downloadrust-dd9b6dccb4cd45c8cfab8caebd82817c106db7b8.tar.gz
rust-dd9b6dccb4cd45c8cfab8caebd82817c106db7b8.zip
Remove some truly wrong logic in parse_constrs
Diffstat (limited to 'src')
-rw-r--r--src/comp/front/parser.rs21
1 files changed, 8 insertions, 13 deletions
diff --git a/src/comp/front/parser.rs b/src/comp/front/parser.rs
index fb43188af50..2295e4788fe 100644
--- a/src/comp/front/parser.rs
+++ b/src/comp/front/parser.rs
@@ -336,19 +336,14 @@ fn parse_constrs(parser p) -> common.spanned[vec[@ast.constr]] {
     let vec[@ast.constr] constrs = vec();
     if (p.peek() == token.COLON) {
         p.bump();
-        let bool more = true;
-        while (more) {
-            alt (p.peek()) {
-                case (token.IDENT(_)) {
-                    auto constr = parse_ty_constr(p);
-                    hi = constr.span.hi;
-                    Vec.push[@ast.constr](constrs, constr);
-                    if (p.peek() == token.COMMA) {
-                        p.bump();
-                        more = false;
-                    }
-                }
-                case (_) { more = false; }
+        while (true) {
+            auto constr = parse_ty_constr(p);
+            hi = constr.span.hi;
+            Vec.push[@ast.constr](constrs, constr);
+            if (p.peek() == token.COMMA) {
+                p.bump();
+            } else {
+                break;
             }
         }
     }