2023-04-20 09:37:15 -05:00
|
|
|
//@run-rustfix
|
2023-03-11 03:20:44 -06:00
|
|
|
|
|
|
|
#![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 = std::path::MAIN_SEPARATOR_STR;
|
|
|
|
let _ = len(std::path::MAIN_SEPARATOR_STR);
|
|
|
|
let _: Vec<u16> = std::path::MAIN_SEPARATOR_STR.encode_utf16().collect();
|
|
|
|
|
|
|
|
// Should lint for field `f` only
|
|
|
|
let _ = U {
|
|
|
|
f: std::path::MAIN_SEPARATOR_STR,
|
|
|
|
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(),
|
|
|
|
};
|
|
|
|
}
|