Make restriction lint's use span_lint_and_then (t -> w)
This commit is contained in:
parent
7de9c20145
commit
4bf4c475ee
6 changed files with 92 additions and 72 deletions
|
|
@ -1,4 +1,4 @@
|
|||
use clippy_utils::diagnostics::{span_lint, span_lint_and_help};
|
||||
use clippy_utils::diagnostics::{span_lint, span_lint_and_then};
|
||||
use clippy_utils::source::snippet_opt;
|
||||
use rustc_ast::ast::{Pat, PatKind};
|
||||
use rustc_lint::EarlyContext;
|
||||
|
|
@ -21,13 +21,15 @@ pub(super) fn check(cx: &EarlyContext<'_>, pat: &Pat) {
|
|||
}
|
||||
}
|
||||
if !pfields.is_empty() && wilds == pfields.len() {
|
||||
span_lint_and_help(
|
||||
#[expect(clippy::collapsible_span_lint_calls, reason = "rust-clippy#7797")]
|
||||
span_lint_and_then(
|
||||
cx,
|
||||
UNNEEDED_FIELD_PATTERN,
|
||||
pat.span,
|
||||
"all the struct fields are matched to a wildcard pattern, consider using `..`",
|
||||
None,
|
||||
format!("try with `{type_name} {{ .. }}` instead"),
|
||||
|diag| {
|
||||
diag.help(format!("try with `{type_name} {{ .. }}` instead"));
|
||||
},
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
|
@ -56,14 +58,15 @@ pub(super) fn check(cx: &EarlyContext<'_>, pat: &Pat) {
|
|||
}
|
||||
}
|
||||
|
||||
span_lint_and_help(
|
||||
#[expect(clippy::collapsible_span_lint_calls, reason = "rust-clippy#7797")]
|
||||
span_lint_and_then(
|
||||
cx,
|
||||
UNNEEDED_FIELD_PATTERN,
|
||||
field.span,
|
||||
"you matched a field with a wildcard pattern, consider using `..` \
|
||||
instead",
|
||||
None,
|
||||
format!("try with `{type_name} {{ {}, .. }}`", normal[..].join(", ")),
|
||||
"you matched a field with a wildcard pattern, consider using `..` instead",
|
||||
|diag| {
|
||||
diag.help(format!("try with `{type_name} {{ {}, .. }}`", normal[..].join(", ")));
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue