diff options
Diffstat (limited to 'src/comp')
| -rw-r--r-- | src/comp/front/parser.rs | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/src/comp/front/parser.rs b/src/comp/front/parser.rs index fb43188a..2295e478 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; } } } |