fix(manual_find_map and manual_filter_map): check clone method
This commit is contained in:
parent
39231b4b50
commit
007fae10ed
7 changed files with 122 additions and 3 deletions
|
|
@ -155,7 +155,15 @@ pub(super) fn check<'tcx>(
|
|||
}
|
||||
false
|
||||
};
|
||||
if SpanlessEq::new(cx).expr_fallback(eq_fallback).eq_expr(filter_arg, map_arg);
|
||||
|
||||
if match map_arg.kind {
|
||||
ExprKind::MethodCall(clone, [original_arg], _) => {
|
||||
clone.ident.name == sym::clone
|
||||
&& SpanlessEq::new(cx).expr_fallback(eq_fallback).eq_expr(filter_arg, original_arg)
|
||||
},
|
||||
_ => SpanlessEq::new(cx).expr_fallback(eq_fallback).eq_expr(filter_arg, map_arg)
|
||||
};
|
||||
|
||||
then {
|
||||
let span = filter_span.with_hi(expr.span.hi());
|
||||
let (filter_name, lint) = if is_find {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue