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/libstd/sys | |
| 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/libstd/sys')
| -rw-r--r-- | src/libstd/sys/common/mod.rs | 4 | ||||
| -rw-r--r-- | src/libstd/sys/unix/fs.rs | 2 | ||||
| -rw-r--r-- | src/libstd/sys/unix/process.rs | 2 | ||||
| -rw-r--r-- | src/libstd/sys/windows/backtrace.rs | 1 | ||||
| -rw-r--r-- | src/libstd/sys/windows/ext.rs | 8 | ||||
| -rw-r--r-- | src/libstd/sys/windows/fs.rs | 2 | ||||
| -rw-r--r-- | src/libstd/sys/windows/process.rs | 2 |
7 files changed, 17 insertions, 4 deletions
diff --git a/src/libstd/sys/common/mod.rs b/src/libstd/sys/common/mod.rs index 328c536e188..9a89b290980 100644 --- a/src/libstd/sys/common/mod.rs +++ b/src/libstd/sys/common/mod.rs @@ -15,7 +15,10 @@ use prelude::v1::*; use sys::{last_error, retry}; use ffi::CString; use num::Int; + +#[allow(deprecated)] use old_path::BytesContainer; + use collections; #[macro_use] pub mod helper_thread; @@ -120,6 +123,7 @@ pub trait FromInner<Inner> { } #[doc(hidden)] +#[allow(deprecated)] pub trait ProcessConfig<K: BytesContainer, V: BytesContainer> { fn program(&self) -> &CString; fn args(&self) -> &[CString]; diff --git a/src/libstd/sys/unix/fs.rs b/src/libstd/sys/unix/fs.rs index 3d490380bfd..f23619955e2 100644 --- a/src/libstd/sys/unix/fs.rs +++ b/src/libstd/sys/unix/fs.rs @@ -10,6 +10,8 @@ //! Blocking posix-based file I/O +#![allow(deprecated)] // this module itself is essentially deprecated + use prelude::v1::*; use ffi::{CString, CStr}; diff --git a/src/libstd/sys/unix/process.rs b/src/libstd/sys/unix/process.rs index d5469eb82ef..df0e8de3ff1 100644 --- a/src/libstd/sys/unix/process.rs +++ b/src/libstd/sys/unix/process.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![allow(deprecated)] +#![allow(deprecated)] // this module itself is essentially deprecated use prelude::v1::*; use self::Req::*; diff --git a/src/libstd/sys/windows/backtrace.rs b/src/libstd/sys/windows/backtrace.rs index 8de2fe1336f..b464ba70911 100644 --- a/src/libstd/sys/windows/backtrace.rs +++ b/src/libstd/sys/windows/backtrace.rs @@ -23,6 +23,7 @@ //! this takes the route of using StackWalk64 in order to walk the stack. #![allow(dead_code)] +#![allow(deprecated)] // for old path for dynamic lib use prelude::v1::*; diff --git a/src/libstd/sys/windows/ext.rs b/src/libstd/sys/windows/ext.rs index b30aec08439..1d63da813c9 100644 --- a/src/libstd/sys/windows/ext.rs +++ b/src/libstd/sys/windows/ext.rs @@ -122,7 +122,7 @@ impl AsRawSocket for net::UdpSocket { fn as_raw_socket(&self) -> Socket { *self.as_inner().socket().as_inner() } } -// Windows-specific extensions to `OsString`. +/// Windows-specific extensions to `OsString`. pub trait OsStringExt { /// Create an `OsString` from a potentially ill-formed UTF-16 slice of 16-bit code units. /// @@ -137,8 +137,12 @@ impl OsStringExt for OsString { } } -// Windows-specific extensions to `OsStr`. +/// Windows-specific extensions to `OsStr`. pub trait OsStrExt { + /// Re-encode an `OsStr` as a wide character sequence, + /// i.e. potentially ill-formed UTF-16. + /// + /// This is lossless. Note that the encoding does not include a final null. fn encode_wide(&self) -> EncodeWide; } diff --git a/src/libstd/sys/windows/fs.rs b/src/libstd/sys/windows/fs.rs index 5e6fcc66407..a218fb26fda 100644 --- a/src/libstd/sys/windows/fs.rs +++ b/src/libstd/sys/windows/fs.rs @@ -10,6 +10,8 @@ //! Blocking Windows-based file I/O +#![allow(deprecated)] // this module itself is essentially deprecated + use libc::{self, c_int}; use mem; diff --git a/src/libstd/sys/windows/process.rs b/src/libstd/sys/windows/process.rs index 119ff3dbcc8..e465ecaa5f6 100644 --- a/src/libstd/sys/windows/process.rs +++ b/src/libstd/sys/windows/process.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![allow(deprecated)] +#![allow(deprecated)] // this module itself is essentially deprecated use prelude::v1::*; |
