summaryrefslogtreecommitdiffstats
path: root/src/tools/clippy/tests/ui/join_absolute_paths.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/clippy/tests/ui/join_absolute_paths.rs')
-rw-r--r--src/tools/clippy/tests/ui/join_absolute_paths.rs30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/tools/clippy/tests/ui/join_absolute_paths.rs b/src/tools/clippy/tests/ui/join_absolute_paths.rs
new file mode 100644
index 000000000..efa77a049
--- /dev/null
+++ b/src/tools/clippy/tests/ui/join_absolute_paths.rs
@@ -0,0 +1,30 @@
+//@no-rustfix
+
+#![allow(clippy::needless_raw_string_hashes)]
+#![warn(clippy::join_absolute_paths)]
+
+use std::path::{Path, PathBuf};
+
+fn main() {
+ let path = Path::new("/bin");
+ path.join("/sh");
+ //~^ ERROR: argument to `Path::join` starts with a path separator
+
+ let path = Path::new("C:\\Users");
+ path.join("\\user");
+ //~^ ERROR: argument to `Path::join` starts with a path separator
+
+ let path = PathBuf::from("/bin");
+ path.join("/sh");
+ //~^ ERROR: argument to `Path::join` starts with a path separator
+
+ let path = PathBuf::from("/bin");
+ path.join(r#"/sh"#);
+ //~^ ERROR: argument to `Path::join` starts with a path separator
+
+ let path: &[&str] = &["/bin"];
+ path.join("/sh");
+
+ let path = Path::new("/bin");
+ path.join("sh");
+}