blob: 3cb51671aaf188389e58bb124decd63456a50818 [file] [log] [blame] [edit]
use clippy_utils::diagnostics::span_lint_and_sugg;
use rustc_ast::ast::{Pat, PatKind};
use rustc_errors::Applicability;
use rustc_lint::EarlyContext;
use super::REDUNDANT_PATTERN;
pub(super) fn check(cx: &EarlyContext<'_>, pat: &Pat) {
if let PatKind::Ident(ann, ident, Some(ref right)) = pat.kind
&& let PatKind::Wild = right.kind
{
span_lint_and_sugg(
cx,
REDUNDANT_PATTERN,
pat.span,
format!(
"the `{} @ _` pattern can be written as just `{}`",
ident.name, ident.name,
),
"try",
format!("{}{}", ann.prefix_str(), ident.name),
Applicability::MachineApplicable,
);
}
}