From dd9b6dccb4cd45c8cfab8caebd82817c106db7b8 Mon Sep 17 00:00:00 2001 From: Marijn Haverbeke Date: Thu, 12 May 2011 15:52:12 +0200 Subject: Remove some truly wrong logic in parse_constrs --- src/comp/front/parser.rs | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) (limited to 'src') 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; } } } -- cgit v1.2.3