about summary refs log tree commit diff
path: root/src/libsyntax
diff options
context:
space:
mode:
Diffstat (limited to 'src/libsyntax')
-rw-r--r--src/libsyntax/ext/base.rs7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/libsyntax/ext/base.rs b/src/libsyntax/ext/base.rs
index 960894e6963..0d8373eac3c 100644
--- a/src/libsyntax/ext/base.rs
+++ b/src/libsyntax/ext/base.rs
@@ -593,11 +593,14 @@ pub fn get_exprs_from_tts(cx: &mut ExtCtxt,
                                               .collect());
     let mut es = Vec::new();
     while p.token != token::EOF {
-        if es.len() != 0 && !p.eat(&token::COMMA) {
+        es.push(cx.expand_expr(p.parse_expr()));
+        if p.eat(&token::COMMA) {
+            continue;
+        }
+        if p.token != token::EOF {
             cx.span_err(sp, "expected token: `,`");
             return None;
         }
-        es.push(cx.expand_expr(p.parse_expr()));
     }
     Some(es)
 }