Skip to content

Commit 9d8c64b

Browse files
committed
Push try! to call site of interpolated_or_expr_span!
1 parent 2bc8f4f commit 9d8c64b

File tree

1 file changed

+18
-17
lines changed

1 file changed

+18
-17
lines changed

src/libsyntax/parse/parser.rs

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -239,12 +239,13 @@ macro_rules! interpolated_or_expr_span {
239239
($p:expr, $parse_expr:expr) => {
240240
{
241241
let is_interpolated = $p.token.is_interpolated();
242-
let e = $parse_expr;
243-
if is_interpolated {
244-
($p.last_span, e)
245-
} else {
246-
(e.span, e)
247-
}
242+
$parse_expr.map(|e| {
243+
if is_interpolated {
244+
($p.last_span, e)
245+
} else {
246+
(e.span, e)
247+
}
248+
})
248249
}
249250
}
250251
}
@@ -2338,7 +2339,7 @@ impl<'a> Parser<'a> {
23382339
-> PResult<'a, P<Expr>> {
23392340
let attrs = try!(self.parse_or_use_outer_attributes(already_parsed_attrs));
23402341

2341-
let (span, b) = interpolated_or_expr_span!(self, try!(self.parse_bottom_expr()));
2342+
let (span, b) = try!(interpolated_or_expr_span!(self, self.parse_bottom_expr()));
23422343
self.parse_dot_or_call_expr_with(b, span.lo, attrs)
23432344
}
23442345

@@ -2724,30 +2725,30 @@ impl<'a> Parser<'a> {
27242725
let ex = match self.token {
27252726
token::Not => {
27262727
self.bump();
2727-
let (span, e) = interpolated_or_expr_span!(self,
2728-
try!(self.parse_prefix_expr(None)));
2728+
let (span, e) = try!(interpolated_or_expr_span!(self,
2729+
self.parse_prefix_expr(None)));
27292730
hi = span.hi;
27302731
self.mk_unary(UnNot, e)
27312732
}
27322733
token::BinOp(token::Minus) => {
27332734
self.bump();
2734-
let (span, e) = interpolated_or_expr_span!(self,
2735-
try!(self.parse_prefix_expr(None)));
2735+
let (span, e) = try!(interpolated_or_expr_span!(self,
2736+
self.parse_prefix_expr(None)));
27362737
hi = span.hi;
27372738
self.mk_unary(UnNeg, e)
27382739
}
27392740
token::BinOp(token::Star) => {
27402741
self.bump();
2741-
let (span, e) = interpolated_or_expr_span!(self,
2742-
try!(self.parse_prefix_expr(None)));
2742+
let (span, e) = try!(interpolated_or_expr_span!(self,
2743+
self.parse_prefix_expr(None)));
27432744
hi = span.hi;
27442745
self.mk_unary(UnDeref, e)
27452746
}
27462747
token::BinOp(token::And) | token::AndAnd => {
27472748
try!(self.expect_and());
27482749
let m = try!(self.parse_mutability());
2749-
let (span, e) = interpolated_or_expr_span!(self,
2750-
try!(self.parse_prefix_expr(None)));
2750+
let (span, e) = try!(interpolated_or_expr_span!(self,
2751+
self.parse_prefix_expr(None)));
27512752
hi = span.hi;
27522753
ExprAddrOf(m, e)
27532754
}
@@ -2766,8 +2767,8 @@ impl<'a> Parser<'a> {
27662767
}
27672768
token::Ident(..) if self.token.is_keyword(keywords::Box) => {
27682769
self.bump();
2769-
let (span, e) = interpolated_or_expr_span!(self,
2770-
try!(self.parse_prefix_expr(None)));
2770+
let (span, e) = try!(interpolated_or_expr_span!(self,
2771+
self.parse_prefix_expr(None)));
27712772
hi = span.hi;
27722773
ExprBox(e)
27732774
}

0 commit comments

Comments
 (0)