rust/tests/ui/manual_main_separator_str.fixed

40 lines
763 B
Rust
Raw Normal View History

//@run-rustfix
#![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(),
};
}