Skip to content

Commit a148a32

Browse files
committed
Move condition out of maybe_recover_from_question_mark.
1 parent 1b42245 commit a148a32

File tree

2 files changed

+6
-11
lines changed

2 files changed

+6
-11
lines changed

compiler/rustc_parse/src/parser/diagnostics.rs

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use super::pat::Expected;
2-
use super::ty::{AllowPlus, RecoverQuestionMark};
2+
use super::ty::AllowPlus;
33
use super::{
44
BlockMode, CommaRecoveryMode, Parser, PathStyle, RecoverColon, RecoverComma, Restrictions,
55
SemiColonMode, SeqSep, TokenExpectType, TokenType,
@@ -1248,14 +1248,7 @@ impl<'a> Parser<'a> {
12481248
}
12491249

12501250
/// Swift lets users write `Ty?` to mean `Option<Ty>`. Parse the construct and recover from it.
1251-
pub(super) fn maybe_recover_from_question_mark(
1252-
&mut self,
1253-
ty: P<Ty>,
1254-
recover_question_mark: RecoverQuestionMark,
1255-
) -> P<Ty> {
1256-
if let RecoverQuestionMark::No = recover_question_mark {
1257-
return ty;
1258-
}
1251+
pub(super) fn maybe_recover_from_question_mark(&mut self, ty: P<Ty>) -> P<Ty> {
12591252
if self.token == token::Question {
12601253
self.bump();
12611254
self.struct_span_err(self.prev_token.span, "invalid `?` in type")

compiler/rustc_parse/src/parser/ty.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -312,12 +312,14 @@ impl<'a> Parser<'a> {
312312
};
313313

314314
let span = lo.to(self.prev_token.span);
315-
let ty = self.mk_ty(span, kind);
315+
let mut ty = self.mk_ty(span, kind);
316316

317317
// Try to recover from use of `+` with incorrect priority.
318318
self.maybe_report_ambiguous_plus(allow_plus, impl_dyn_multi, &ty);
319319
self.maybe_recover_from_bad_type_plus(allow_plus, &ty)?;
320-
let ty = self.maybe_recover_from_question_mark(ty, recover_question_mark);
320+
if let RecoverQuestionMark::Yes = recover_question_mark {
321+
ty = self.maybe_recover_from_question_mark(ty);
322+
}
321323
if allow_qpath_recovery { self.maybe_recover_from_bad_qpath(ty) } else { Ok(ty) }
322324
}
323325

0 commit comments

Comments
 (0)