Skip to content

Commit cee1963

Browse files
committed
Refactor handle_missing_lit.
1 parent 814ea59 commit cee1963

File tree

1 file changed

+8
-14
lines changed
  • compiler/rustc_parse/src/parser

1 file changed

+8
-14
lines changed

compiler/rustc_parse/src/parser/expr.rs

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1832,20 +1832,14 @@ impl<'a> Parser<'a> {
18321832
&mut self,
18331833
mk_lit_char: impl FnOnce(Symbol, Span) -> L,
18341834
) -> PResult<'a, L> {
1835-
if let token::Interpolated(inner) = &self.token.kind {
1836-
let expr = match inner.as_ref() {
1837-
token::NtExpr(expr) => Some(expr),
1838-
token::NtLiteral(expr) => Some(expr),
1839-
_ => None,
1840-
};
1841-
if let Some(expr) = expr {
1842-
if matches!(expr.kind, ExprKind::Err) {
1843-
let mut err = InvalidInterpolatedExpression { span: self.token.span }
1844-
.into_diagnostic(&self.sess.span_diagnostic);
1845-
err.downgrade_to_delayed_bug();
1846-
return Err(err);
1847-
}
1848-
}
1835+
if let token::Interpolated(nt) = &self.token.kind
1836+
&& let token::NtExpr(e) | token::NtLiteral(e) = &**nt
1837+
&& matches!(e.kind, ExprKind::Err)
1838+
{
1839+
let mut err = InvalidInterpolatedExpression { span: self.token.span }
1840+
.into_diagnostic(&self.sess.span_diagnostic);
1841+
err.downgrade_to_delayed_bug();
1842+
return Err(err);
18491843
}
18501844
let token = self.token.clone();
18511845
let err = |self_: &Self| {

0 commit comments

Comments
 (0)