Skip to content

Commit 7bcc325

Browse files
committed
refactor parse_if_expr
1 parent 44ff4df commit 7bcc325

File tree

2 files changed

+4
-10
lines changed

2 files changed

+4
-10
lines changed

src/librustc_parse/parser/expr.rs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1423,14 +1423,8 @@ impl<'a> Parser<'a> {
14231423
err
14241424
})?
14251425
};
1426-
let mut els = None;
1427-
let mut hi = thn.span;
1428-
if self.eat_keyword(kw::Else) {
1429-
let elexpr = self.parse_else_expr()?;
1430-
hi = elexpr.span;
1431-
els = Some(elexpr);
1432-
}
1433-
Ok(self.mk_expr(lo.to(hi), ExprKind::If(cond, thn, els), attrs))
1426+
let els = if self.eat_keyword(kw::Else) { Some(self.parse_else_expr()?) } else { None };
1427+
Ok(self.mk_expr(lo.to(self.prev_span), ExprKind::If(cond, thn, els), attrs))
14341428
}
14351429

14361430
fn error_missing_if_cond(&self, lo: Span, span: Span) -> P<ast::Block> {

src/test/ui/if/if-let.stderr

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ warning: irrefutable if-let pattern
22
--> $DIR/if-let.rs:6:13
33
|
44
LL | if let $p = $e $b
5-
| ^^
5+
| ^^^^^^^^^^^^^^^^^
66
...
77
LL | / foo!(a, 1, {
88
LL | | println!("irrefutable pattern");
@@ -15,7 +15,7 @@ warning: irrefutable if-let pattern
1515
--> $DIR/if-let.rs:6:13
1616
|
1717
LL | if let $p = $e $b
18-
| ^^
18+
| ^^^^^^^^^^^^^^^^^
1919
...
2020
LL | / bar!(a, 1, {
2121
LL | | println!("irrefutable pattern");

0 commit comments

Comments
 (0)