@@ -2346,7 +2346,7 @@ fn check_methods<'tcx>(cx: &LateContext<'tcx>, expr: &'tcx Expr<'_>, msrv: Optio
2346
2346
( "add" | "offset" | "sub" | "wrapping_offset" | "wrapping_add" | "wrapping_sub" , [ _arg] ) => {
2347
2347
zst_offset:: check ( cx, expr, recv) ;
2348
2348
} ,
2349
- ( name @ ( "all" | "any" | "find_map" | " position") , [ arg] ) => {
2349
+ ( name @ ( "all" | "any" | "position" ) , [ arg] ) => {
2350
2350
if let Some ( ( name2 @ "map" , [ _, arg2] , span2) ) = method_call ( recv) {
2351
2351
map_then_identity_transformer:: check ( cx, span2, name2, arg2, name, arg) ;
2352
2352
}
@@ -2404,8 +2404,13 @@ fn check_methods<'tcx>(cx: &LateContext<'tcx>, expr: &'tcx Expr<'_>, msrv: Optio
2404
2404
}
2405
2405
}
2406
2406
} ,
2407
- ( "find_map" , [ arg] ) => {
2408
- unnecessary_filter_map:: check ( cx, expr, arg, name) ;
2407
+ ( name @ "find_map" , [ arg] ) => {
2408
+ let triggered = unnecessary_filter_map:: check ( cx, expr, arg, name) ;
2409
+ if !triggered {
2410
+ if let Some ( ( name2 @ "map" , [ _, arg2] , span2) ) = method_call ( recv) {
2411
+ map_then_identity_transformer:: check ( cx, span2, name2, arg2, name, arg) ;
2412
+ }
2413
+ }
2409
2414
} ,
2410
2415
( name @ "flat_map" , [ arg] ) => {
2411
2416
let triggered = flat_map_identity:: check ( cx, expr, arg, span) ;
0 commit comments