Rollup merge of #141477 - tshepang:patch-1, r=ChrisDenton
Path::with_extension: show that it adds an extension where one did no… …t exist I think the times I encountered this, I had to check first if files without extensions were added, since all examples only had files with existing extensions. Also, this replaced example already has a similar example below.
This commit is contained in:
@@ -2746,15 +2746,30 @@ impl Path {
|
|||||||
/// # Examples
|
/// # Examples
|
||||||
///
|
///
|
||||||
/// ```
|
/// ```
|
||||||
/// use std::path::{Path, PathBuf};
|
/// use std::path::Path;
|
||||||
///
|
///
|
||||||
/// let path = Path::new("foo.rs");
|
/// let path = Path::new("foo.rs");
|
||||||
/// assert_eq!(path.with_extension("txt"), PathBuf::from("foo.txt"));
|
/// assert_eq!(path.with_extension("txt"), Path::new("foo.txt"));
|
||||||
|
/// assert_eq!(path.with_extension(""), Path::new("foo"));
|
||||||
|
/// ```
|
||||||
|
///
|
||||||
|
/// Handling multiple extensions:
|
||||||
|
///
|
||||||
|
/// ```
|
||||||
|
/// use std::path::Path;
|
||||||
///
|
///
|
||||||
/// let path = Path::new("foo.tar.gz");
|
/// let path = Path::new("foo.tar.gz");
|
||||||
/// assert_eq!(path.with_extension(""), PathBuf::from("foo.tar"));
|
/// assert_eq!(path.with_extension("xz"), Path::new("foo.tar.xz"));
|
||||||
/// assert_eq!(path.with_extension("xz"), PathBuf::from("foo.tar.xz"));
|
/// assert_eq!(path.with_extension("").with_extension("txt"), Path::new("foo.txt"));
|
||||||
/// assert_eq!(path.with_extension("").with_extension("txt"), PathBuf::from("foo.txt"));
|
/// ```
|
||||||
|
///
|
||||||
|
/// Adding an extension where one did not exist:
|
||||||
|
///
|
||||||
|
/// ```
|
||||||
|
/// use std::path::Path;
|
||||||
|
///
|
||||||
|
/// let path = Path::new("foo");
|
||||||
|
/// assert_eq!(path.with_extension("rs"), Path::new("foo.rs"));
|
||||||
/// ```
|
/// ```
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
pub fn with_extension<S: AsRef<OsStr>>(&self, extension: S) -> PathBuf {
|
pub fn with_extension<S: AsRef<OsStr>>(&self, extension: S) -> PathBuf {
|
||||||
|
|||||||
Reference in New Issue
Block a user