@@ -13,36 +13,38 @@ fn main() {
13
13
let l = "l" ;
14
14
15
15
// LINT CASES
16
- // If the first argument to a single `str::replace` call is a slice and none of the chars
17
- // are variables, recommend `collapsible_str_replace`
18
- let replacement = misspelled. replace ( & [ 's' , 'u' , 'p' ] , "l" ) ;
16
+ let replacement = misspelled. replace ( 's' , "l" ) . replace ( 'u' , "l" ) ;
19
17
println ! ( "{replacement}" ) ;
20
18
21
- let replacement = misspelled. replace ( & [ 's' , 'u' , 'p' ] , l) ;
19
+ let replacement = misspelled. replace ( 's' , l ) . replace ( 'u' , l) ;
22
20
println ! ( "{replacement}" ) ;
23
21
24
- // If multiple `str::replace` calls contain slices and none of the chars are variables,
25
- // recommend `collapsible_str_replace`
26
- let replacement = misspelled. replace ( & [ 's' , 'u' ] , "l" ) . replace ( & [ 'u' , 'p' ] , "l" ) ;
22
+ let replacement = misspelled. replace ( 's' , "l" ) . replace ( 'u' , "l" ) . replace ( 'p' , "l" ) ;
27
23
println ! ( "{replacement}" ) ;
28
24
29
- let replacement = misspelled. replace ( 's' , "l" ) . replace ( & [ 'u' , 'p' ] , "l" ) ;
25
+ let replacement = misspelled
26
+ . replace ( 's' , "l" )
27
+ . replace ( 'u' , "l" )
28
+ . replace ( 'p' , "l" )
29
+ . replace ( 'd' , "l" ) ;
30
30
println ! ( "{replacement}" ) ;
31
31
32
- let replacement = misspelled. replace ( & [ 's' , 'u' ] , "l" ) . replace ( 'p' , "l" ) ;
33
- println ! ( "replacement" ) ;
32
+ // FALLBACK CASES
33
+ // If there are consecutive calls to `str::replace` and all or any chars are variables,
34
+ // recommend the fallback `misspelled.replace(&[s, u, p], "l")`
35
+ let replacement = misspelled. replace ( s, "l" ) . replace ( 'u' , "l" ) ;
36
+ println ! ( "{replacement}" ) ;
34
37
35
- // If there are consecutive calls to `str::replace` and none of the chars are variables,
36
- // recommend `collapsible_str_replace`
37
- let replacement = misspelled. replace ( 's' , "l" ) . replace ( 'u' , "l" ) ;
38
+ let replacement = misspelled. replace ( s, "l" ) . replace ( 'u' , "l" ) . replace ( 'p' , "l" ) ;
38
39
println ! ( "{replacement}" ) ;
39
40
40
- let replacement = misspelled. replace ( 's' , "l" ) . replace ( 'u' , "l" ) . replace ( 'p' , "l" ) ;
41
+ let replacement = misspelled. replace ( s, "l" ) . replace ( u, "l" ) . replace ( 'p' , "l" ) ;
42
+ println ! ( "{replacement}" ) ;
43
+
44
+ let replacement = misspelled. replace ( s, "l" ) . replace ( u, "l" ) . replace ( p, "l" ) ;
41
45
println ! ( "{replacement}" ) ;
42
46
43
47
// NO LINT CASES
44
- // If there is a single call to `str::replace` and the first argument is a char or a variable,
45
- // do not recommend `collapsible_str_replace`
46
48
let replacement = misspelled. replace ( 's' , "l" ) ;
47
49
println ! ( "{replacement}" ) ;
48
50
@@ -53,36 +55,33 @@ fn main() {
53
55
let replacement = misspelled. replace ( 's' , "l" ) . replace ( 'u' , "p" ) ;
54
56
println ! ( "{replacement}" ) ;
55
57
56
- // If the `from` argument is of kind other than a slice or a char, do not lint
57
58
let replacement = misspelled. replace ( & get_filter ( ) , "l" ) ;
59
+ println ! ( "{replacement}" ) ;
58
60
59
- // NO LINT TIL IMPROVEMENT
60
- // The first iteration of `collapsible_str_replace` will not create lint if the first argument to
61
- // a single `str::replace` call is a slice and one or more of its chars are variables
62
- let replacement = misspelled. replace ( & [ 's' , u, 'p' ] , "l" ) ;
61
+ let replacement = misspelled. replace ( & [ 's' , 'u' , 'p' ] , "l" ) ;
63
62
println ! ( "{replacement}" ) ;
64
63
65
- let replacement = misspelled. replace ( & [ s , u , 'p' ] , "l" ) ;
64
+ let replacement = misspelled. replace ( & [ 's' , 'u' , 'p' ] , l ) ;
66
65
println ! ( "{replacement}" ) ;
67
66
68
- let replacement = misspelled. replace ( & [ s , u , p ] , "l" ) ;
67
+ let replacement = misspelled. replace ( & [ 's' , 'u' ] , "l" ) . replace ( & [ 'u' , 'p' ] , "l" ) ;
69
68
println ! ( "{replacement}" ) ;
70
69
71
- let replacement = misspelled. replace ( & [ s , u ] , "l" ) . replace ( & [ u , p ] , "l" ) ;
70
+ let replacement = misspelled. replace ( 's' , "l" ) . replace ( & [ 'u' , 'p' ] , "l" ) ;
72
71
println ! ( "{replacement}" ) ;
73
72
74
- // FALLBACK CASES
75
- // If there are consecutive calls to `str::replace` and all or any chars are variables,
76
- // recommend the fallback `misspelled.replace(&[s, u, p], "l")`
77
- let replacement = misspelled. replace ( s , "l" ) . replace ( 'u' , "l" ) ;
73
+ let replacement = misspelled . replace ( & [ 's' , 'u' ] , "l" ) . replace ( 'p' , "l" ) ;
74
+ println ! ( "replacement" ) ;
75
+
76
+ let replacement = misspelled. replace ( & [ 's' , u , 'p' ] , "l" ) ;
78
77
println ! ( "{replacement}" ) ;
79
78
80
- let replacement = misspelled. replace ( s, "l" ) . replace ( 'u' , "l" ) . replace ( 'p' , "l" ) ;
79
+ let replacement = misspelled. replace ( & [ s, u , 'p' ] , "l" ) ;
81
80
println ! ( "{replacement}" ) ;
82
81
83
- let replacement = misspelled. replace ( s, "l" ) . replace ( u, "l" ) . replace ( 'p' , "l" ) ;
82
+ let replacement = misspelled. replace ( & [ s, u, p ] , "l" ) ;
84
83
println ! ( "{replacement}" ) ;
85
84
86
- let replacement = misspelled. replace ( s, "l" ) . replace ( u , "l" ) . replace ( p , "l" ) ;
85
+ let replacement = misspelled. replace ( & [ s, u ] , "l" ) . replace ( & [ u , p ] , "l" ) ;
87
86
println ! ( "{replacement}" ) ;
88
87
}
0 commit comments