diff options
| author | bors <bors@rust-lang.org> | 2013-07-24 08:52:36 -0700 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2013-07-24 08:52:36 -0700 |
| commit | f132401a0b4f7fe19f9de50ab5a5a6a0d1d68607 (patch) | |
| tree | 732c07d43b90c2183e98a79cbd34e0bafaea2585 /src/libsyntax | |
| parent | 51028532d790db476b102ebdda40bb9b1a7f8106 (diff) | |
| parent | 8f86fa3b31ec80020c30b70d1d04987481f89e4c (diff) | |
auto merge of #7982 : thestinger/rust/iterator, r=thestinger
f0f4dcc r=huonw 25e9c4c r=graydon a87c2d1 r=brson 16f369d r=cmr 9f05cc8 r=bstrie e858055 r=huonw 5d80938 r=thestinger 05d03e7 r=cmr 8f86fa3 r=thestinger
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/ext/base.rs | 9 | ||||
| -rw-r--r-- | src/libsyntax/ext/bytes.rs | 2 | ||||
| -rw-r--r-- | src/libsyntax/ext/fmt.rs | 2 | ||||
| -rw-r--r-- | src/libsyntax/ext/tt/macro_rules.rs | 12 | ||||
| -rw-r--r-- | src/libsyntax/parse/token.rs | 4 |
5 files changed, 14 insertions, 15 deletions
diff --git a/src/libsyntax/ext/base.rs b/src/libsyntax/ext/base.rs index e831e32f23d..a5c8f2a235e 100644 --- a/src/libsyntax/ext/base.rs +++ b/src/libsyntax/ext/base.rs @@ -357,15 +357,16 @@ pub fn get_single_str_from_tts(cx: @ExtCtxt, } } -pub fn get_exprs_from_tts(cx: @ExtCtxt, tts: &[ast::token_tree]) - -> ~[@ast::expr] { +pub fn get_exprs_from_tts(cx: @ExtCtxt, + sp: span, + tts: &[ast::token_tree]) -> ~[@ast::expr] { let p = parse::new_parser_from_tts(cx.parse_sess(), cx.cfg(), tts.to_owned()); let mut es = ~[]; while *p.token != token::EOF { - if es.len() != 0 { - p.eat(&token::COMMA); + if es.len() != 0 && !p.eat(&token::COMMA) { + cx.span_fatal(sp, "expected token: `,`"); } es.push(p.parse_expr()); } diff --git a/src/libsyntax/ext/bytes.rs b/src/libsyntax/ext/bytes.rs index 3f64654dd80..2092c45074e 100644 --- a/src/libsyntax/ext/bytes.rs +++ b/src/libsyntax/ext/bytes.rs @@ -18,7 +18,7 @@ use ext::build::AstBuilder; pub fn expand_syntax_ext(cx: @ExtCtxt, sp: span, tts: &[ast::token_tree]) -> base::MacResult { // Gather all argument expressions - let exprs = get_exprs_from_tts(cx, tts); + let exprs = get_exprs_from_tts(cx, sp, tts); let mut bytes = ~[]; for exprs.iter().advance |expr| { diff --git a/src/libsyntax/ext/fmt.rs b/src/libsyntax/ext/fmt.rs index 333570b6c9d..737127fcae7 100644 --- a/src/libsyntax/ext/fmt.rs +++ b/src/libsyntax/ext/fmt.rs @@ -26,7 +26,7 @@ use parse::token::{str_to_ident}; pub fn expand_syntax_ext(cx: @ExtCtxt, sp: span, tts: &[ast::token_tree]) -> base::MacResult { - let args = get_exprs_from_tts(cx, tts); + let args = get_exprs_from_tts(cx, sp, tts); if args.len() == 0 { cx.span_fatal(sp, "fmt! takes at least 1 argument."); } diff --git a/src/libsyntax/ext/tt/macro_rules.rs b/src/libsyntax/ext/tt/macro_rules.rs index c20e35c299a..4b3c8498380 100644 --- a/src/libsyntax/ext/tt/macro_rules.rs +++ b/src/libsyntax/ext/tt/macro_rules.rs @@ -23,8 +23,6 @@ use parse::token::{get_ident_interner, special_idents, gensym_ident, ident_to_st use parse::token::{FAT_ARROW, SEMI, nt_matchers, nt_tt}; use print; -use std::io; - pub fn add_new_extension(cx: @ExtCtxt, sp: span, name: ident, @@ -82,11 +80,11 @@ pub fn add_new_extension(cx: @ExtCtxt, -> MacResult { if cx.trace_macros() { - io::println(fmt!("%s! { %s }", - cx.str_of(name), - print::pprust::tt_to_str( - &ast::tt_delim(@mut arg.to_owned()), - get_ident_interner()))); + printfln!("%s! { %s }", + cx.str_of(name), + print::pprust::tt_to_str( + &ast::tt_delim(@mut arg.to_owned()), + get_ident_interner())); } // Which arm's failure should we report? (the one furthest along) diff --git a/src/libsyntax/parse/token.rs b/src/libsyntax/parse/token.rs index 2d15d0ab7e8..52b6d4459bf 100644 --- a/src/libsyntax/parse/token.rs +++ b/src/libsyntax/parse/token.rs @@ -686,7 +686,7 @@ mod test { use std::io; #[test] fn t1() { let a = fresh_name("ghi"); - io::println(fmt!("interned name: %u,\ntextual name: %s\n", - a,interner_get(a))); + printfln!("interned name: %u,\ntextual name: %s\n", + a, interner_get(a)); } } |
