Skip to content

Commit 537443b

Browse files
committed
fix: respect reduced applicability
1 parent 72dc832 commit 537443b

1 file changed

Lines changed: 9 additions & 7 deletions

File tree

clippy_lints/src/methods/filter_next.rs

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use clippy_utils::diagnostics::span_lint_and_then;
2-
use clippy_utils::source::snippet;
2+
use clippy_utils::source::snippet_with_applicability;
33
use clippy_utils::ty::implements_trait;
44
use clippy_utils::{path_to_local_with_projections, sym};
55
use rustc_ast::{BindingMode, Mutability};
@@ -43,24 +43,26 @@ pub(super) fn check(
4343
|diag| {
4444
let sugg_msg = format!("use `.{find_method}(..)` instead");
4545

46+
let mut app = Applicability::MachineApplicable;
4647
// add note if not multi-line
47-
let filter_snippet = snippet(cx, filter_arg.span, "..");
48+
let filter_snippet = snippet_with_applicability(cx, filter_arg.span, "..", &mut app);
4849
if filter_snippet.lines().count() <= 1 {
49-
let iter_snippet = snippet(cx, recv.span, "..");
50-
let (applicability, pat) = if let Some(id) = path_to_local_with_projections(recv)
50+
let iter_snippet = snippet_with_applicability(cx, recv.span, "..", &mut app);
51+
let pat = if let Some(id) = path_to_local_with_projections(recv)
5152
&& let Node::Pat(pat) = cx.tcx.hir_node(id)
5253
&& let PatKind::Binding(BindingMode(_, Mutability::Not), _, ident, _) = pat.kind
5354
{
54-
(Applicability::Unspecified, Some((pat.span, ident)))
55+
app = Applicability::Unspecified;
56+
Some((pat.span, ident))
5557
} else {
56-
(Applicability::MachineApplicable, None)
58+
None
5759
};
5860

5961
diag.span_suggestion_verbose(
6062
expr.span,
6163
sugg_msg,
6264
format!("{iter_snippet}.{find_method}({filter_snippet})"),
63-
applicability,
65+
app,
6466
);
6567

6668
if let Some((pat_span, ident)) = pat {

0 commit comments

Comments
 (0)