// option. This file may not be copied, modified, or distributed
// except according to those terms.
-use ast::{self, Arg, Arm, Block, Expr, Item, Pat, Path, Stmt, TokenTree, Ty};
+use ast::{self, Arg, Arm, Block, Expr, Item, Pat, Stmt, TokenTree, Ty};
use codemap::Span;
use ext::base::ExtCtxt;
use ext::base;
use ptr::P;
use std::rc::Rc;
- use ast::{TokenTree, Expr};
+ use ast::TokenTree;
pub use parse::new_parser_from_tts;
pub use codemap::{BytePos, Span, dummy_spanned, DUMMY_SP};
let mut v = vec![];
for (i, x) in self.iter().enumerate() {
if i > 0 {
- v.push_all(&$sep);
+ v.extend_from_slice(&$sep);
}
v.extend(x.to_tokens(cx));
}
let cx_expr = panictry!(p.parse_expr());
if !panictry!(p.eat(&token::Comma)) {
- panic!(p.fatal("expected token `,`"));
+ let _ = p.diagnostic().fatal("expected token `,`");
}
let tts = panictry!(p.parse_all_token_trees());