]> git.proxmox.com Git - rustc.git/blame - src/tools/clippy/tests/ui/collapsible_str_replace.rs
New upstream version 1.68.2+dfsg1
[rustc.git] / src / tools / clippy / tests / ui / collapsible_str_replace.rs
CommitLineData
f2b60f7d
FG
1// run-rustfix
2
f25598a0 3#![allow(unused)]
f2b60f7d
FG
4#![warn(clippy::collapsible_str_replace)]
5
6fn get_filter() -> char {
7 'u'
8}
9
10fn 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"]
80fn msrv_1_57() {
81 let _ = "".replace('a', "1.57").replace('b', "1.57");
82}
83
84#[clippy::msrv = "1.58"]
85fn msrv_1_58() {
86 let _ = "".replace('a', "1.58").replace('b', "1.58");
87}