File tree Expand file tree Collapse file tree 3 files changed +27
-3
lines changed Expand file tree Collapse file tree 3 files changed +27
-3
lines changed Original file line number Diff line number Diff line change @@ -45,16 +45,16 @@ pub(super) fn check_manual_split_once(
4545 IterUsageKind :: Next | IterUsageKind :: Second => {
4646 let self_deref = {
4747 let adjust = cx. typeck_results ( ) . expr_adjustments ( self_arg) ;
48- if adjust. is_empty ( ) {
48+ if adjust. len ( ) < 2 {
4949 String :: new ( )
5050 } else if cx. typeck_results ( ) . expr_ty ( self_arg) . is_box ( )
5151 || adjust
5252 . iter ( )
5353 . any ( |a| matches ! ( a. kind, Adjust :: Deref ( Some ( _) ) ) || a. target . is_box ( ) )
5454 {
55- format ! ( "&{}" , "*" . repeat( adjust. len( ) - 1 ) )
55+ format ! ( "&{}" , "*" . repeat( adjust. len( ) . saturating_sub ( 1 ) ) )
5656 } else {
57- "*" . repeat ( adjust. len ( ) - 2 )
57+ "*" . repeat ( adjust. len ( ) . saturating_sub ( 2 ) )
5858 }
5959 } ;
6060 if matches ! ( usage. kind, IterUsageKind :: Next ) {
Original file line number Diff line number Diff line change 1+ fn _f ( s : & str ) -> Option < ( ) > {
2+ let _ = s[ 1 ..] . splitn ( 2 , '.' ) . next ( ) ?;
3+ Some ( ( ) )
4+ }
5+
6+ fn main ( ) { }
Original file line number Diff line number Diff line change 1+ error: manual implementation of `split_once`
2+ --> $DIR/ice-8250.rs:2:13
3+ |
4+ LL | let _ = s[1..].splitn(2, '.').next()?;
5+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `s[1..].split_once('.').map_or(s[1..], |x| x.0)`
6+ |
7+ = note: `-D clippy::manual-split-once` implied by `-D warnings`
8+
9+ error: unnecessary use of `splitn`
10+ --> $DIR/ice-8250.rs:2:13
11+ |
12+ LL | let _ = s[1..].splitn(2, '.').next()?;
13+ | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `s[1..].split('.')`
14+ |
15+ = note: `-D clippy::needless-splitn` implied by `-D warnings`
16+
17+ error: aborting due to 2 previous errors
18+
You can’t perform that action at this time.
0 commit comments