summaryrefslogtreecommitdiffstats
path: root/src/tools/clippy/tests/ui/collapsible_str_replace.fixed
blob: 49fc9a9629e25415a714b6e3616602c77367f239 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
// run-rustfix

#![warn(clippy::collapsible_str_replace)]

fn get_filter() -> char {
    'u'
}

fn main() {
    let d = 'd';
    let p = 'p';
    let s = 's';
    let u = 'u';
    let l = "l";

    let mut iter = ["l", "z"].iter();

    // LINT CASES
    let _ = "hesuo worpd".replace(['s', 'u'], "l");

    let _ = "hesuo worpd".replace(['s', 'u'], l);

    let _ = "hesuo worpd".replace(['s', 'u', 'p'], "l");

    let _ = "hesuo worpd"
        .replace(['s', 'u', 'p', 'd'], "l");

    let _ = "hesuo world".replace([s, 'u'], "l");

    let _ = "hesuo worpd".replace([s, 'u', 'p'], "l");

    let _ = "hesuo worpd".replace([s, u, 'p'], "l");

    let _ = "hesuo worpd".replace([s, u, p], "l");

    let _ = "hesuo worlp".replace(['s', 'u'], "l").replace('p', "d");

    let _ = "hesuo worpd".replace('s', "x").replace(['u', 'p'], "l");

    // Note: Future iterations could lint `replace(|c| matches!(c, "su" | 'd' | 'p'), "l")`
    let _ = "hesudo worpd".replace("su", "l").replace(['d', 'p'], "l");

    let _ = "hesudo worpd".replace([d, 'p'], "l").replace("su", "l");

    let _ = "hesuo world".replace([get_filter(), 's'], "l");

    // NO LINT CASES
    let _ = "hesuo world".replace('s', "l").replace('u', "p");

    let _ = "hesuo worpd".replace('s', "l").replace('p', l);

    let _ = "hesudo worpd".replace('d', "l").replace("su", "l").replace('p', "l");

    // Note: Future iterations of `collapsible_str_replace` might lint this and combine to `[s, u, p]`
    let _ = "hesuo worpd".replace([s, u], "l").replace([u, p], "l");

    let _ = "hesuo worpd".replace(['s', 'u'], "l").replace(['u', 'p'], "l");

    let _ = "hesuo worpd".replace('s', "l").replace(['u', 'p'], "l");

    let _ = "hesuo worpd".replace(['s', 'u', 'p'], "l").replace('r', "l");

    let _ = "hesuo worpd".replace(['s', 'u', 'p'], l).replace('r', l);

    let _ = "hesuo worpd".replace(['s', u, 'p'], "l").replace('r', "l");

    let _ = "hesuo worpd".replace([s, u], "l").replace(p, "l");

    // Regression test
    let _ = "hesuo worpd"
        .replace('u', iter.next().unwrap())
        .replace('s', iter.next().unwrap());
}