diff options
| author | bors <bors@rust-lang.org> | 2015-03-13 01:00:02 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2015-03-13 01:00:02 +0000 |
| commit | 79dd393a4f144fa5e6f81c720c782de3175810d7 (patch) | |
| tree | 06bfba9dd93f962fec59a068dcc218dfbc07db76 /src/libserialize | |
| parent | c9b03c24ec346e6405883032094f47805ef9c43e (diff) | |
| parent | 42c4e481cd98bd392839144c9ac83e55e445a12a (diff) | |
| download | rust-79dd393a4f144fa5e6f81c720c782de3175810d7.tar.gz rust-79dd393a4f144fa5e6f81c720c782de3175810d7.zip | |
Auto merge of #23229 - aturon:stab-path, r=alexcrichton
This commit stabilizes essentially all of the new `std::path` API. The
API itself is changed in a couple of ways (which brings it in closer
alignment with the RFC):
* `.` components are now normalized away, unless they appear at the
start of a path. This in turn effects the semantics of e.g. asking for
the file name of `foo/` or `foo/.`, both of which yield `Some("foo")`
now. This semantics is what the original RFC specified, and is also
desirable given early experience rolling out the new API.
* The `parent` method is now `without_file` and succeeds if, and only
if, `file_name` is `Some(_)`. That means, in particular, that it fails
for a path like `foo/../`. This change affects `pop` as well.
In addition, the `old_path` module is now deprecated.
[breaking-change]
r? @alexcrichton
Diffstat (limited to 'src/libserialize')
| -rw-r--r-- | src/libserialize/lib.rs | 1 | ||||
| -rw-r--r-- | src/libserialize/serialize.rs | 5 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/libserialize/lib.rs b/src/libserialize/lib.rs index ad7908c6dd5..8d58ba99e13 100644 --- a/src/libserialize/lib.rs +++ b/src/libserialize/lib.rs @@ -37,7 +37,6 @@ Core encoding and decoding interfaces. #![feature(staged_api)] #![feature(std_misc)] #![feature(unicode)] -#![feature(path)] #![cfg_attr(test, feature(test))] // test harness access diff --git a/src/libserialize/serialize.rs b/src/libserialize/serialize.rs index f287229e083..77e2da7ec79 100644 --- a/src/libserialize/serialize.rs +++ b/src/libserialize/serialize.rs @@ -14,6 +14,7 @@ Core encoding and decoding interfaces. */ +#[allow(deprecated)] use std::old_path; use std::path; use std::rc::Rc; @@ -539,12 +540,14 @@ macro_rules! tuple { tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, } +#[allow(deprecated)] impl Encodable for old_path::posix::Path { fn encode<S: Encoder>(&self, e: &mut S) -> Result<(), S::Error> { self.as_vec().encode(e) } } +#[allow(deprecated)] impl Decodable for old_path::posix::Path { fn decode<D: Decoder>(d: &mut D) -> Result<old_path::posix::Path, D::Error> { let bytes: Vec<u8> = try!(Decodable::decode(d)); @@ -552,12 +555,14 @@ impl Decodable for old_path::posix::Path { } } +#[allow(deprecated)] impl Encodable for old_path::windows::Path { fn encode<S: Encoder>(&self, e: &mut S) -> Result<(), S::Error> { self.as_vec().encode(e) } } +#[allow(deprecated)] impl Decodable for old_path::windows::Path { fn decode<D: Decoder>(d: &mut D) -> Result<old_path::windows::Path, D::Error> { let bytes: Vec<u8> = try!(Decodable::decode(d)); |
