@@ -2583,8 +2583,8 @@ impl Methods {
25832583 } ,
25842584 _ => { } ,
25852585 } ,
2586- ( name @ "count" , args @ [ ] ) => match method_call ( recv) {
2587- Some ( ( "cloned" , [ recv2] , _) ) => iter_overeager_cloned:: check ( cx, expr, recv2, name , args ) ,
2586+ ( "count" , [ ] ) => match method_call ( recv) {
2587+ Some ( ( "cloned" , [ recv2] , _) ) => iter_overeager_cloned:: check ( cx, expr, recv , recv2, true , false ) ,
25882588 Some ( ( name2 @ ( "into_iter" | "iter" | "iter_mut" ) , [ recv2] , _) ) => {
25892589 iter_count:: check ( cx, expr, recv2, name2) ;
25902590 } ,
@@ -2614,9 +2614,9 @@ impl Methods {
26142614 flat_map_identity:: check ( cx, expr, arg, span) ;
26152615 flat_map_option:: check ( cx, expr, arg, span) ;
26162616 } ,
2617- ( name @ "flatten" , args @ [ ] ) => match method_call ( recv) {
2617+ ( "flatten" , [ ] ) => match method_call ( recv) {
26182618 Some ( ( "map" , [ recv, map_arg] , map_span) ) => map_flatten:: check ( cx, expr, recv, map_arg, map_span) ,
2619- Some ( ( "cloned" , [ recv2] , _) ) => iter_overeager_cloned:: check ( cx, expr, recv2, name , args ) ,
2619+ Some ( ( "cloned" , [ recv2] , _) ) => iter_overeager_cloned:: check ( cx, expr, recv , recv2, false , true ) ,
26202620 _ => { } ,
26212621 } ,
26222622 ( "fold" , [ init, acc] ) => unnecessary_fold:: check ( cx, expr, init, acc, span) ,
@@ -2636,10 +2636,10 @@ impl Methods {
26362636 unnecessary_join:: check ( cx, expr, recv, join_arg, span) ;
26372637 }
26382638 } ,
2639- ( "last" , args @ [ ] ) | ( "skip" , args @ [ _] ) => {
2639+ ( "last" , [ ] ) | ( "skip" , [ _] ) => {
26402640 if let Some ( ( name2, [ recv2, args2 @ ..] , _span2) ) = method_call ( recv) {
26412641 if let ( "cloned" , [ ] ) = ( name2, args2) {
2642- iter_overeager_cloned:: check ( cx, expr, recv2, name , args ) ;
2642+ iter_overeager_cloned:: check ( cx, expr, recv , recv2, false , false ) ;
26432643 }
26442644 }
26452645 } ,
@@ -2660,10 +2660,10 @@ impl Methods {
26602660 map_identity:: check ( cx, expr, recv, m_arg, name, span) ;
26612661 } ,
26622662 ( "map_or" , [ def, map] ) => option_map_or_none:: check ( cx, expr, recv, def, map) ,
2663- ( name @ "next" , args @ [ ] ) => {
2663+ ( "next" , [ ] ) => {
26642664 if let Some ( ( name2, [ recv2, args2 @ ..] , _) ) = method_call ( recv) {
26652665 match ( name2, args2) {
2666- ( "cloned" , [ ] ) => iter_overeager_cloned:: check ( cx, expr, recv2, name , args ) ,
2666+ ( "cloned" , [ ] ) => iter_overeager_cloned:: check ( cx, expr, recv , recv2, false , false ) ,
26672667 ( "filter" , [ arg] ) => filter_next:: check ( cx, expr, recv2, arg) ,
26682668 ( "filter_map" , [ arg] ) => filter_map_next:: check ( cx, expr, recv2, arg, self . msrv ) ,
26692669 ( "iter" , [ ] ) => iter_next_slice:: check ( cx, expr, recv2) ,
@@ -2673,9 +2673,9 @@ impl Methods {
26732673 }
26742674 }
26752675 } ,
2676- ( "nth" , args @ [ n_arg] ) => match method_call ( recv) {
2676+ ( "nth" , [ n_arg] ) => match method_call ( recv) {
26772677 Some ( ( "bytes" , [ recv2] , _) ) => bytes_nth:: check ( cx, expr, recv2, n_arg) ,
2678- Some ( ( "cloned" , [ recv2] , _) ) => iter_overeager_cloned:: check ( cx, expr, recv2, name , args ) ,
2678+ Some ( ( "cloned" , [ recv2] , _) ) => iter_overeager_cloned:: check ( cx, expr, recv , recv2, false , false ) ,
26792679 Some ( ( "iter" , [ recv2] , _) ) => iter_nth:: check ( cx, expr, recv2, recv, n_arg, false ) ,
26802680 Some ( ( "iter_mut" , [ recv2] , _) ) => iter_nth:: check ( cx, expr, recv2, recv, n_arg, true ) ,
26812681 _ => iter_nth_zero:: check ( cx, expr, recv, n_arg) ,
@@ -2698,10 +2698,10 @@ impl Methods {
26982698 }
26992699 } ,
27002700 ( "step_by" , [ arg] ) => iterator_step_by_zero:: check ( cx, expr, arg) ,
2701- ( "take" , args @ [ _arg] ) => {
2701+ ( "take" , [ _arg] ) => {
27022702 if let Some ( ( name2, [ recv2, args2 @ ..] , _span2) ) = method_call ( recv) {
27032703 if let ( "cloned" , [ ] ) = ( name2, args2) {
2704- iter_overeager_cloned:: check ( cx, expr, recv2, name , args ) ;
2704+ iter_overeager_cloned:: check ( cx, expr, recv , recv2, false , false ) ;
27052705 }
27062706 }
27072707 } ,
0 commit comments