diff options
| author | Simon Sapin <simon.sapin@exyr.org> | 2018-10-17 15:51:10 +0200 |
|---|---|---|
| committer | Simon Sapin <simon.sapin@exyr.org> | 2018-10-17 15:54:00 +0200 |
| commit | a0df4204c49975d3a5fb9c3a6562d49faf130b01 (patch) | |
| tree | 2df79ea11591008a623ba897379c1eb355ea1529 /src/libstd/path.rs | |
| parent | cbbd70d4f25bc255d80b6b9ba0a65f6c5957f2b7 (diff) | |
| download | rust-a0df4204c49975d3a5fb9c3a6562d49faf130b01.tar.gz rust-a0df4204c49975d3a5fb9c3a6562d49faf130b01.zip | |
Implement FromStr for PathBuf
Initially landed in https://github.com/rust-lang/rust/pull/48292 and reverted in https://github.com/rust-lang/rust/pull/50401. This time, use `std::string::ParseError` as suggested in https://github.com/rust-lang/rust/issues/44431#issuecomment-428112632
Diffstat (limited to 'src/libstd/path.rs')
| -rw-r--r-- | src/libstd/path.rs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/libstd/path.rs b/src/libstd/path.rs index ca8be75fab5..a153456370c 100644 --- a/src/libstd/path.rs +++ b/src/libstd/path.rs @@ -87,6 +87,8 @@ use io; use iter::{self, FusedIterator}; use ops::{self, Deref}; use rc::Rc; +use str::FromStr; +use string::ParseError; use sync::Arc; use ffi::{OsStr, OsString}; @@ -1443,6 +1445,15 @@ impl From<String> for PathBuf { } } +#[stable(feature = "path_from_str", since = "1.26.0")] +impl FromStr for PathBuf { + type Err = ParseError; + + fn from_str(s: &str) -> Result<Self, Self::Err> { + Ok(PathBuf::from(s)) + } +} + #[stable(feature = "rust1", since = "1.0.0")] impl<P: AsRef<Path>> iter::FromIterator<P> for PathBuf { fn from_iter<I: IntoIterator<Item = P>>(iter: I) -> PathBuf { |
