about summary refs log tree commit diff
path: root/src/comp/syntax/parse
diff options
context:
space:
mode:
authorGraydon Hoare <graydon@mozilla.com>2011-12-21 18:05:08 -0800
committerGraydon Hoare <graydon@mozilla.com>2011-12-21 18:05:08 -0800
commit047b02d5bc2675dd993aa2378703cba34a0e35bc (patch)
treef2e2f1e89fc4c8e2c639d70005f7389fcd0869f9 /src/comp/syntax/parse
parent7bf12f372355ab3213d99a42eb6dae1de2a53b06 (diff)
downloadrust-047b02d5bc2675dd993aa2378703cba34a0e35bc.tar.gz
rust-047b02d5bc2675dd993aa2378703cba34a0e35bc.zip
More flailing on log syntax due to call-expr ambiguity in previous attempt.
Diffstat (limited to 'src/comp/syntax/parse')
-rw-r--r--src/comp/syntax/parse/parser.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/comp/syntax/parse/parser.rs b/src/comp/syntax/parse/parser.rs
index d12943202c7..81e476e22c3 100644
--- a/src/comp/syntax/parse/parser.rs
+++ b/src/comp/syntax/parse/parser.rs
@@ -910,10 +910,13 @@ fn parse_bottom_expr(p: parser) -> @ast::expr {
             ex = ast::expr_fail(some(e));
         } else { ex = ast::expr_fail(none); }
     } else if eat_word(p, "log_full") {
+        expect(p, token::LPAREN);
         let lvl = parse_expr(p);
+        expect(p, token::COMMA);
         let e = parse_expr(p);
         ex = ast::expr_log(2, lvl, e);
-        hi = e.span.hi;
+        hi = p.get_hi_pos();
+        expect(p, token::RPAREN);
     } else if eat_word(p, "log") {
         let e = parse_expr(p);
         ex = ast::expr_log(1, mk_lit_u32(p, 1u32), e);