From de95857129a8bdcc623f57f669b535ddf8a8db6e Mon Sep 17 00:00:00 2001 From: Eli Friedman Date: Fri, 23 Oct 2015 19:02:38 -0700 Subject: Don't panic for fatal errors in attribute parsing. --- src/libsyntax/ext/cfg.rs | 2 +- src/libsyntax/ext/tt/macro_parser.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'src/libsyntax/ext') diff --git a/src/libsyntax/ext/cfg.rs b/src/libsyntax/ext/cfg.rs index 5074189a048..d354a4ae215 100644 --- a/src/libsyntax/ext/cfg.rs +++ b/src/libsyntax/ext/cfg.rs @@ -26,7 +26,7 @@ pub fn expand_cfg<'cx>(cx: &mut ExtCtxt, tts: &[ast::TokenTree]) -> Box { let mut p = cx.new_parser_from_tts(tts); - let cfg = p.parse_meta_item(); + let cfg = panictry!(p.parse_meta_item()); if !panictry!(p.eat(&token::Eof)){ cx.span_err(sp, "expected 1 cfg-pattern"); diff --git a/src/libsyntax/ext/tt/macro_parser.rs b/src/libsyntax/ext/tt/macro_parser.rs index 40a8f1cc6b5..a4c99018bb9 100644 --- a/src/libsyntax/ext/tt/macro_parser.rs +++ b/src/libsyntax/ext/tt/macro_parser.rs @@ -526,7 +526,7 @@ pub fn parse_nt(p: &mut Parser, sp: Span, name: &str) -> Nonterminal { "path" => { token::NtPath(Box::new(panictry!(p.parse_path(LifetimeAndTypesWithoutColons)))) }, - "meta" => token::NtMeta(p.parse_meta_item()), + "meta" => token::NtMeta(panictry!(p.parse_meta_item())), _ => { panic!(p.span_fatal_help(sp, &format!("invalid fragment specifier `{}`", name), -- cgit 1.4.1-3-g733a5