1
Fork 0

Rollup merge of #109415 - nnethercote:refactor-handle_missing_lit, r=petrochenkov

Refactor `handle_missing_lit`.

A small code readability improvement.

r? ```@petrochenkov```
This commit is contained in:
Matthias Krüger 2023-03-21 19:00:14 +01:00 committed by GitHub
commit 96f35ed720
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1843,20 +1843,14 @@ impl<'a> Parser<'a> {
&mut self, &mut self,
mk_lit_char: impl FnOnce(Symbol, Span) -> L, mk_lit_char: impl FnOnce(Symbol, Span) -> L,
) -> PResult<'a, L> { ) -> PResult<'a, L> {
if let token::Interpolated(inner) = &self.token.kind { if let token::Interpolated(nt) = &self.token.kind
let expr = match inner.as_ref() { && let token::NtExpr(e) | token::NtLiteral(e) = &**nt
token::NtExpr(expr) => Some(expr), && matches!(e.kind, ExprKind::Err)
token::NtLiteral(expr) => Some(expr), {
_ => None, let mut err = errors::InvalidInterpolatedExpression { span: self.token.span }
}; .into_diagnostic(&self.sess.span_diagnostic);
if let Some(expr) = expr { err.downgrade_to_delayed_bug();
if matches!(expr.kind, ExprKind::Err) { return Err(err);
let mut err = errors::InvalidInterpolatedExpression { span: self.token.span }
.into_diagnostic(&self.sess.span_diagnostic);
err.downgrade_to_delayed_bug();
return Err(err);
}
}
} }
let token = self.token.clone(); let token = self.token.clone();
let err = |self_: &Self| { let err = |self_: &Self| {