Suggest the pat_param specifier before | on 2021 edition

We have a migration warning but no lint for users who have enabled the
new edition.
This commit is contained in:
Dylan MacKenzie 2021-11-29 22:14:38 -08:00
parent 6db0a0e9a4
commit f6b499da16

View file

@ -1027,6 +1027,24 @@ fn check_matcher_core(
),
);
err.span_label(sp, format!("not allowed after `{}` fragments", kind));
if kind == NonterminalKind::PatWithOr
&& sess.edition == Edition::Edition2021
&& next_token.is_token(&BinOp(token::BinOpToken::Or))
{
let suggestion = quoted_tt_to_string(&TokenTree::MetaVarDecl(
span,
name,
Some(NonterminalKind::PatParam { inferred: false }),
));
err.span_suggestion(
span,
&format!("try a `pat_param` fragment specifier instead"),
suggestion,
Applicability::MaybeIncorrect,
);
}
let msg = "allowed there are: ";
match possible {
&[] => {}