about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2023-05-01 17:10:22 +0200
committerGitHub <noreply@github.com>2023-05-01 17:10:22 +0200
commit4da8a7a370bfca894c435d48879fb38f4719b485 (patch)
treedddad7c8c3b84397f977e90d425d40970d97ce29
parentb7d8c88b64843d05761576aa093a34a8bc176817 (diff)
parent4eb4e1022a3e8fd03fda44b40e270bd94cb9c476 (diff)
downloadrust-4da8a7a370bfca894c435d48879fb38f4719b485.tar.gz
rust-4da8a7a370bfca894c435d48879fb38f4719b485.zip
Rollup merge of #109540 - marcospb19:edit-Path-with_file_name-example, r=m-ou-se
std docs: edit `PathBuf::set_file_name` example

To make explicit that `set_file_name` might replace or remove the
extension, not just the file stem.

Also edit docs for `Path::with_file_name`, which calls `set_file_name`.
-rw-r--r--library/std/src/path.rs16
1 files changed, 11 insertions, 5 deletions
diff --git a/library/std/src/path.rs b/library/std/src/path.rs
index 5b22333cc35..198996c5f70 100644
--- a/library/std/src/path.rs
+++ b/library/std/src/path.rs
@@ -1395,11 +1395,16 @@ impl PathBuf {
     ///
     /// let mut buf = PathBuf::from("/");
     /// assert!(buf.file_name() == None);
-    /// buf.set_file_name("bar");
-    /// assert!(buf == PathBuf::from("/bar"));
+    ///
+    /// buf.set_file_name("foo.txt");
+    /// assert!(buf == PathBuf::from("/foo.txt"));
     /// assert!(buf.file_name().is_some());
-    /// buf.set_file_name("baz.txt");
-    /// assert!(buf == PathBuf::from("/baz.txt"));
+    ///
+    /// buf.set_file_name("bar.txt");
+    /// assert!(buf == PathBuf::from("/bar.txt"));
+    ///
+    /// buf.set_file_name("baz");
+    /// assert!(buf == PathBuf::from("/baz"));
     /// ```
     #[stable(feature = "rust1", since = "1.0.0")]
     pub fn set_file_name<S: AsRef<OsStr>>(&mut self, file_name: S) {
@@ -2562,7 +2567,8 @@ impl Path {
     /// ```
     /// use std::path::{Path, PathBuf};
     ///
-    /// let path = Path::new("/tmp/foo.txt");
+    /// let path = Path::new("/tmp/foo.png");
+    /// assert_eq!(path.with_file_name("bar"), PathBuf::from("/tmp/bar"));
     /// assert_eq!(path.with_file_name("bar.txt"), PathBuf::from("/tmp/bar.txt"));
     ///
     /// let path = Path::new("/tmp");