]> git.lizzy.rs Git - rust.git/blob - src/tools/clippy/tests/ui/collapsible_str_replace.fixed
Auto merge of #107843 - bjorn3:sync_cg_clif-2023-02-09, r=bjorn3
[rust.git] / src / tools / clippy / tests / ui / collapsible_str_replace.fixed
1 // run-rustfix
2
3 #![allow(unused)]
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', 'u'], "l");
21
22     let _ = "hesuo worpd".replace(['s', 'u'], l);
23
24     let _ = "hesuo worpd".replace(['s', 'u', 'p'], "l");
25
26     let _ = "hesuo worpd"
27         .replace(['s', 'u', 'p', 'd'], "l");
28
29     let _ = "hesuo world".replace([s, 'u'], "l");
30
31     let _ = "hesuo worpd".replace([s, 'u', 'p'], "l");
32
33     let _ = "hesuo worpd".replace([s, u, 'p'], "l");
34
35     let _ = "hesuo worpd".replace([s, u, p], "l");
36
37     let _ = "hesuo worlp".replace(['s', 'u'], "l").replace('p', "d");
38
39     let _ = "hesuo worpd".replace('s', "x").replace(['u', 'p'], "l");
40
41     // Note: Future iterations could lint `replace(|c| matches!(c, "su" | 'd' | 'p'), "l")`
42     let _ = "hesudo worpd".replace("su", "l").replace(['d', 'p'], "l");
43
44     let _ = "hesudo worpd".replace([d, 'p'], "l").replace("su", "l");
45
46     let _ = "hesuo world".replace([get_filter(), 's'], "l");
47
48     // NO LINT CASES
49     let _ = "hesuo world".replace('s', "l").replace('u', "p");
50
51     let _ = "hesuo worpd".replace('s', "l").replace('p', l);
52
53     let _ = "hesudo worpd".replace('d', "l").replace("su", "l").replace('p', "l");
54
55     // Note: Future iterations of `collapsible_str_replace` might lint this and combine to `[s, u, p]`
56     let _ = "hesuo worpd".replace([s, u], "l").replace([u, p], "l");
57
58     let _ = "hesuo worpd".replace(['s', 'u'], "l").replace(['u', 'p'], "l");
59
60     let _ = "hesuo worpd".replace('s', "l").replace(['u', 'p'], "l");
61
62     let _ = "hesuo worpd".replace(['s', 'u', 'p'], "l").replace('r', "l");
63
64     let _ = "hesuo worpd".replace(['s', 'u', 'p'], l).replace('r', l);
65
66     let _ = "hesuo worpd".replace(['s', u, 'p'], "l").replace('r', "l");
67
68     let _ = "hesuo worpd".replace([s, u], "l").replace(p, "l");
69
70     // Regression test
71     let _ = "hesuo worpd"
72         .replace('u', iter.next().unwrap())
73         .replace('s', iter.next().unwrap());
74 }
75
76 #[clippy::msrv = "1.57"]
77 fn msrv_1_57() {
78     let _ = "".replace('a', "1.57").replace('b', "1.57");
79 }
80
81 #[clippy::msrv = "1.58"]
82 fn msrv_1_58() {
83     let _ = "".replace(['a', 'b'], "1.58");
84 }