summaryrefslogtreecommitdiffstats
path: root/src/tools/clippy/tests/ui/manual_main_separator_str.rs
blob: 339dfd8bb473b671c575544106741576238f3fde (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
#![allow(unused)]
#![warn(clippy::manual_main_separator_str)]

use std::path::MAIN_SEPARATOR;

fn len(s: &str) -> usize {
    s.len()
}

struct U<'a> {
    f: &'a str,
    g: &'a String,
}

struct V<T> {
    f: T,
}

fn main() {
    // Should lint
    let _: &str = &MAIN_SEPARATOR.to_string();
    let _ = len(&MAIN_SEPARATOR.to_string());
    let _: Vec<u16> = MAIN_SEPARATOR.to_string().encode_utf16().collect();

    // Should lint for field `f` only
    let _ = U {
        f: &MAIN_SEPARATOR.to_string(),
        g: &MAIN_SEPARATOR.to_string(),
    };

    // Should not lint
    let _: &String = &MAIN_SEPARATOR.to_string();
    let _ = &MAIN_SEPARATOR.to_string();
    let _ = V {
        f: &MAIN_SEPARATOR.to_string(),
    };
}