From b2bcb7229a4bce0c9459807552d071eb2b2c9a0e Mon Sep 17 00:00:00 2001 From: Phil Dawes Date: Sat, 28 Mar 2015 21:58:51 +0000 Subject: Work towards a non-panicing parser (libsyntax) - Functions in parser.rs return PResult<> rather than panicing - Other functions in libsyntax call panic! explicitly for now if they rely on panicing behaviour. - 'panictry!' macro added as scaffolding while converting panicing functions. (This does the same as 'unwrap()' but is easier to grep for and turn into try!()) - Leaves panicing wrappers for the following functions so that the quote_* macros behave the same: - parse_expr, parse_item, parse_pat, parse_arm, parse_ty, parse_stmt --- src/libsyntax/ext/source_util.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/libsyntax/ext/source_util.rs') diff --git a/src/libsyntax/ext/source_util.rs b/src/libsyntax/ext/source_util.rs index 31d8b207bb9..a4c2d2dc030 100644 --- a/src/libsyntax/ext/source_util.rs +++ b/src/libsyntax/ext/source_util.rs @@ -117,11 +117,11 @@ pub fn expand_include<'cx>(cx: &'cx mut ExtCtxt, sp: Span, tts: &[ast::TokenTree while self.p.token != token::Eof { match self.p.parse_item() { Some(item) => ret.push(item), - None => self.p.span_fatal( + None => panic!(self.p.span_fatal( self.p.span, &format!("expected item, found `{}`", self.p.this_token_to_string()) - ) + )) } } Some(ret) -- cgit 1.4.1-3-g733a5