]>
Commit | Line | Data |
---|---|---|
f2b60f7d FG |
1 | // run-rustfix |
2 | ||
f25598a0 | 3 | #![allow(unused)] |
f2b60f7d FG |
4 | #![warn(clippy::collapsible_str_replace)] |
5 | ||
6 | fn get_filter() -> char { | |
7 | 'u' | |
8 | } | |
9 | ||
10 | fn main() { | |
11 | let d = 'd'; | |
12 | let p = 'p'; | |
13 | let s = 's'; | |
14 | let u = 'u'; | |
15 | let l = "l"; | |
16 | ||
17 | let mut iter = ["l", "z"].iter(); | |
18 | ||
19 | // LINT CASES | |
20 | let _ = "hesuo worpd".replace('s', "l").replace('u', "l"); | |
21 | ||
22 | let _ = "hesuo worpd".replace('s', l).replace('u', l); | |
23 | ||
24 | let _ = "hesuo worpd".replace('s', "l").replace('u', "l").replace('p', "l"); | |
25 | ||
26 | let _ = "hesuo worpd" | |
27 | .replace('s', "l") | |
28 | .replace('u', "l") | |
29 | .replace('p', "l") | |
30 | .replace('d', "l"); | |
31 | ||
32 | let _ = "hesuo world".replace(s, "l").replace('u', "l"); | |
33 | ||
34 | let _ = "hesuo worpd".replace(s, "l").replace('u', "l").replace('p', "l"); | |
35 | ||
36 | let _ = "hesuo worpd".replace(s, "l").replace(u, "l").replace('p', "l"); | |
37 | ||
38 | let _ = "hesuo worpd".replace(s, "l").replace(u, "l").replace(p, "l"); | |
39 | ||
40 | let _ = "hesuo worlp".replace('s', "l").replace('u', "l").replace('p', "d"); | |
41 | ||
42 | let _ = "hesuo worpd".replace('s', "x").replace('u', "l").replace('p', "l"); | |
43 | ||
44 | // Note: Future iterations could lint `replace(|c| matches!(c, "su" | 'd' | 'p'), "l")` | |
45 | let _ = "hesudo worpd".replace("su", "l").replace('d', "l").replace('p', "l"); | |
46 | ||
47 | let _ = "hesudo worpd".replace(d, "l").replace('p', "l").replace("su", "l"); | |
48 | ||
49 | let _ = "hesuo world".replace(get_filter(), "l").replace('s', "l"); | |
50 | ||
51 | // NO LINT CASES | |
52 | let _ = "hesuo world".replace('s', "l").replace('u', "p"); | |
53 | ||
54 | let _ = "hesuo worpd".replace('s', "l").replace('p', l); | |
55 | ||
56 | let _ = "hesudo worpd".replace('d', "l").replace("su", "l").replace('p', "l"); | |
57 | ||
58 | // Note: Future iterations of `collapsible_str_replace` might lint this and combine to `[s, u, p]` | |
59 | let _ = "hesuo worpd".replace([s, u], "l").replace([u, p], "l"); | |
60 | ||
61 | let _ = "hesuo worpd".replace(['s', 'u'], "l").replace(['u', 'p'], "l"); | |
62 | ||
63 | let _ = "hesuo worpd".replace('s', "l").replace(['u', 'p'], "l"); | |
64 | ||
65 | let _ = "hesuo worpd".replace(['s', 'u', 'p'], "l").replace('r', "l"); | |
66 | ||
67 | let _ = "hesuo worpd".replace(['s', 'u', 'p'], l).replace('r', l); | |
68 | ||
69 | let _ = "hesuo worpd".replace(['s', u, 'p'], "l").replace('r', "l"); | |
70 | ||
71 | let _ = "hesuo worpd".replace([s, u], "l").replace(p, "l"); | |
72 | ||
73 | // Regression test | |
74 | let _ = "hesuo worpd" | |
75 | .replace('u', iter.next().unwrap()) | |
76 | .replace('s', iter.next().unwrap()); | |
77 | } | |
f25598a0 FG |
78 | |
79 | #[clippy::msrv = "1.57"] | |
80 | fn msrv_1_57() { | |
81 | let _ = "".replace('a', "1.57").replace('b', "1.57"); | |
82 | } | |
83 | ||
84 | #[clippy::msrv = "1.58"] | |
85 | fn msrv_1_58() { | |
86 | let _ = "".replace('a', "1.58").replace('b', "1.58"); | |
87 | } |