Skip to content

Commit 1b42245

Browse files
committed
Move condition out of maybe_recover_from_bad_qpath.
1 parent 4c5f6e6 commit 1b42245

File tree

5 files changed

+13
-14
lines changed

5 files changed

+13
-14
lines changed

compiler/rustc_parse/src/parser/diagnostics.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1449,10 +1449,9 @@ impl<'a> Parser<'a> {
14491449
pub(super) fn maybe_recover_from_bad_qpath<T: RecoverQPath>(
14501450
&mut self,
14511451
base: P<T>,
1452-
allow_recovery: bool,
14531452
) -> PResult<'a, P<T>> {
14541453
// Do not add `::` to expected tokens.
1455-
if allow_recovery && self.token == token::ModSep {
1454+
if self.token == token::ModSep {
14561455
if let Some(ty) = base.to_ty() {
14571456
return self.maybe_recover_from_bad_qpath_stage_2(ty.span, ty);
14581457
}
@@ -1598,7 +1597,7 @@ impl<'a> Parser<'a> {
15981597
_ => ExprKind::Await(expr),
15991598
};
16001599
let expr = self.mk_expr(lo.to(sp), kind, attrs);
1601-
self.maybe_recover_from_bad_qpath(expr, true)
1600+
self.maybe_recover_from_bad_qpath(expr)
16021601
}
16031602

16041603
fn recover_await_macro(&mut self) -> PResult<'a, (Span, P<Expr>, bool)> {

compiler/rustc_parse/src/parser/expr.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1417,7 +1417,7 @@ impl<'a> Parser<'a> {
14171417
match self.parse_opt_lit() {
14181418
Some(literal) => {
14191419
let expr = self.mk_expr(lo.to(self.prev_token.span), ExprKind::Lit(literal), attrs);
1420-
self.maybe_recover_from_bad_qpath(expr, true)
1420+
self.maybe_recover_from_bad_qpath(expr)
14211421
}
14221422
None => self.try_macro_suggestion(),
14231423
}
@@ -1444,7 +1444,7 @@ impl<'a> Parser<'a> {
14441444
ExprKind::Tup(es)
14451445
};
14461446
let expr = self.mk_expr(lo.to(self.prev_token.span), kind, attrs);
1447-
self.maybe_recover_from_bad_qpath(expr, true)
1447+
self.maybe_recover_from_bad_qpath(expr)
14481448
}
14491449

14501450
fn parse_array_or_repeat_expr(
@@ -1481,7 +1481,7 @@ impl<'a> Parser<'a> {
14811481
}
14821482
};
14831483
let expr = self.mk_expr(lo.to(self.prev_token.span), kind, attrs);
1484-
self.maybe_recover_from_bad_qpath(expr, true)
1484+
self.maybe_recover_from_bad_qpath(expr)
14851485
}
14861486

14871487
fn parse_path_start_expr(&mut self, attrs: AttrVec) -> PResult<'a, P<Expr>> {
@@ -1519,7 +1519,7 @@ impl<'a> Parser<'a> {
15191519
};
15201520

15211521
let expr = self.mk_expr(lo.to(hi), kind, attrs);
1522-
self.maybe_recover_from_bad_qpath(expr, true)
1522+
self.maybe_recover_from_bad_qpath(expr)
15231523
}
15241524

15251525
/// Parse `'label: $expr`. The label is already parsed.
@@ -1604,7 +1604,7 @@ impl<'a> Parser<'a> {
16041604
let lo = self.prev_token.span;
16051605
let kind = ExprKind::Ret(self.parse_expr_opt()?);
16061606
let expr = self.mk_expr(lo.to(self.prev_token.span), kind, attrs);
1607-
self.maybe_recover_from_bad_qpath(expr, true)
1607+
self.maybe_recover_from_bad_qpath(expr)
16081608
}
16091609

16101610
/// Parse `"do" "yeet" expr?`.
@@ -1619,7 +1619,7 @@ impl<'a> Parser<'a> {
16191619
let span = lo.to(self.prev_token.span);
16201620
self.sess.gated_spans.gate(sym::yeet_expr, span);
16211621
let expr = self.mk_expr(span, kind, attrs);
1622-
self.maybe_recover_from_bad_qpath(expr, true)
1622+
self.maybe_recover_from_bad_qpath(expr)
16231623
}
16241624

16251625
/// Parse `"break" (('label (:? expr)?) | expr?)` with `"break"` token already eaten.
@@ -1679,7 +1679,7 @@ impl<'a> Parser<'a> {
16791679
None
16801680
};
16811681
let expr = self.mk_expr(lo.to(self.prev_token.span), ExprKind::Break(label, kind), attrs);
1682-
self.maybe_recover_from_bad_qpath(expr, true)
1682+
self.maybe_recover_from_bad_qpath(expr)
16831683
}
16841684

16851685
/// Parse `"yield" expr?`.
@@ -1689,7 +1689,7 @@ impl<'a> Parser<'a> {
16891689
let span = lo.to(self.prev_token.span);
16901690
self.sess.gated_spans.gate(sym::generators, span);
16911691
let expr = self.mk_expr(span, kind, attrs);
1692-
self.maybe_recover_from_bad_qpath(expr, true)
1692+
self.maybe_recover_from_bad_qpath(expr)
16931693
}
16941694

16951695
/// Returns a string literal if the next token is a string literal.

compiler/rustc_parse/src/parser/pat.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -408,7 +408,7 @@ impl<'a> Parser<'a> {
408408
};
409409

410410
let pat = self.mk_pat(lo.to(self.prev_token.span), pat);
411-
let pat = self.maybe_recover_from_bad_qpath(pat, true)?;
411+
let pat = self.maybe_recover_from_bad_qpath(pat)?;
412412
let pat = self.recover_intersection_pat(pat)?;
413413

414414
if !allow_range_pat {

compiler/rustc_parse/src/parser/stmt.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ impl<'a> Parser<'a> {
180180
} else {
181181
// Since none of the above applied, this is an expression statement macro.
182182
let e = self.mk_expr(lo.to(hi), ExprKind::MacCall(mac), AttrVec::new());
183-
let e = self.maybe_recover_from_bad_qpath(e, true)?;
183+
let e = self.maybe_recover_from_bad_qpath(e)?;
184184
let e = self.parse_dot_or_call_expr_with(e, lo, attrs.into())?;
185185
let e = self.parse_assoc_expr_with(0, LhsExpr::AlreadyParsed(e))?;
186186
StmtKind::Expr(e)

compiler/rustc_parse/src/parser/ty.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ impl<'a> Parser<'a> {
318318
self.maybe_report_ambiguous_plus(allow_plus, impl_dyn_multi, &ty);
319319
self.maybe_recover_from_bad_type_plus(allow_plus, &ty)?;
320320
let ty = self.maybe_recover_from_question_mark(ty, recover_question_mark);
321-
self.maybe_recover_from_bad_qpath(ty, allow_qpath_recovery)
321+
if allow_qpath_recovery { self.maybe_recover_from_bad_qpath(ty) } else { Ok(ty) }
322322
}
323323

324324
/// Parses either:

0 commit comments

Comments
 (0)