about summary refs log tree commit diff
path: root/src/libsyntax
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2014-06-24 19:36:47 +0000
committerbors <bors@rust-lang.org>2014-06-24 19:36:47 +0000
commit87f3741fdf6356d57d22f8154cf6069a83dec8d7 (patch)
tree4a22a164a3a5fba60bf9f81564650c79461f7268 /src/libsyntax
parent719ffc2484e59476dc153d3503a5adfe79487e11 (diff)
parent85467b6b41e4294f3956a425535a3245904625f0 (diff)
downloadrust-87f3741fdf6356d57d22f8154cf6069a83dec8d7.tar.gz
rust-87f3741fdf6356d57d22f8154cf6069a83dec8d7.zip
auto merge of #15118 : stepancheg/rust/concat, r=alexcrichton
(And in other extensions implemented with `get_exprs_from_tts` function).
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)
 }