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:
commit
96f35ed720
1 changed files with 8 additions and 14 deletions
|
@ -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| {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue