about summary refs log tree commit diff
path: root/src/comp/syntax/parse/parser.rs
diff options
context:
space:
mode:
authorAustin Seipp <as@hacks.yi.org>2012-01-09 09:42:07 -0600
committerBrian Anderson <banderson@mozilla.com>2012-01-09 10:50:33 -0800
commit92113489893105d5432df2fd8f727fa2ca8cec51 (patch)
treec83e2dc2a69fe23b2b62a2d5bbcbdecc699d9884 /src/comp/syntax/parse/parser.rs
parentfbad0204e477537e350963014af936b1646d6d7a (diff)
downloadrust-92113489893105d5432df2fd8f727fa2ca8cec51.tar.gz
rust-92113489893105d5432df2fd8f727fa2ca8cec51.zip
Make the parser accept 'if' as an alternative to 'when' in alt patterns.
Also fix the pretty printer, making it output 'if' instead of 'when'.

Issue #1396
Diffstat (limited to 'src/comp/syntax/parse/parser.rs')
-rw-r--r--src/comp/syntax/parse/parser.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/comp/syntax/parse/parser.rs b/src/comp/syntax/parse/parser.rs
index 6a59b395ab4..2b45115f5b9 100644
--- a/src/comp/syntax/parse/parser.rs
+++ b/src/comp/syntax/parse/parser.rs
@@ -1389,7 +1389,11 @@ fn parse_alt_expr(p: parser) -> @ast::expr {
     while p.peek() != token::RBRACE {
         let pats = parse_pats(p);
         let guard = none;
-        if eat_word(p, "when") { guard = some(parse_expr(p)); }
+        if eat_word(p, "when") {
+            guard = some(parse_expr(p));
+        } else if eat_word(p, "if") {
+            guard = some(parse_expr(p));
+        }
         let blk = parse_block(p);
         arms += [{pats: pats, guard: guard, body: blk}];
     }