summaryrefslogtreecommitdiffstats
path: root/src/tools/clippy/tests/ui/manual_main_separator_str.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/clippy/tests/ui/manual_main_separator_str.rs')
-rw-r--r--src/tools/clippy/tests/ui/manual_main_separator_str.rs39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/tools/clippy/tests/ui/manual_main_separator_str.rs b/src/tools/clippy/tests/ui/manual_main_separator_str.rs
new file mode 100644
index 000000000..2dbb9e661
--- /dev/null
+++ b/src/tools/clippy/tests/ui/manual_main_separator_str.rs
@@ -0,0 +1,39 @@
+// 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 = &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(),
+ };
+}