about summary refs log tree commit diff
path: root/src/libsyntax/ext
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2015-10-23 19:02:38 -0700
committerEli Friedman <eli.friedman@gmail.com>2015-10-27 20:09:10 -0700
commitde95857129a8bdcc623f57f669b535ddf8a8db6e (patch)
tree9b966982e5c9e5d9599e369059303f6457e9971a /src/libsyntax/ext
parentc141f47c2449a2f70e6d199104eb318b083def2a (diff)
downloadrust-de95857129a8bdcc623f57f669b535ddf8a8db6e.tar.gz
rust-de95857129a8bdcc623f57f669b535ddf8a8db6e.zip
Don't panic for fatal errors in attribute parsing.
Diffstat (limited to 'src/libsyntax/ext')
-rw-r--r--src/libsyntax/ext/cfg.rs2
-rw-r--r--src/libsyntax/ext/tt/macro_parser.rs2
2 files changed, 2 insertions, 2 deletions
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<base::MacResult+'static> {
     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),