std: Stabilize io::Error::from_raw_os_error

This commit stabilizes the old `io::Error::from_os_error` after being renamed to
use the `raw_os_error` terminology instead. This function is often useful when
writing bindings to OS functions but only actually converting to an I/O error at
a later point.
This commit is contained in:
Alex Crichton 2015-04-08 16:41:14 -07:00
parent 926f38e588
commit 561fdec135
4 changed files with 12 additions and 6 deletions

View File

@ -163,12 +163,18 @@ impl Error {
/// `Error` for the error code. /// `Error` for the error code.
#[stable(feature = "rust1", since = "1.0.0")] #[stable(feature = "rust1", since = "1.0.0")]
pub fn last_os_error() -> Error { pub fn last_os_error() -> Error {
Error::from_os_error(sys::os::errno() as i32) Error::from_raw_os_error(sys::os::errno() as i32)
} }
/// Creates a new instance of an `Error` from a particular OS error code. /// Creates a new instance of an `Error` from a particular OS error code.
#[unstable(feature = "io", #[stable(feature = "rust1", since = "1.0.0")]
reason = "unclear whether this function is necessary")] pub fn from_raw_os_error(code: i32) -> Error {
Error { repr: Repr::Os(code) }
}
/// Creates a new instance of an `Error` from a particular OS error code.
#[unstable(feature = "io", reason = "deprecated")]
#[deprecated(since = "1.0.0", reason = "renamed to from_raw_os_error")]
pub fn from_os_error(code: i32) -> Error { pub fn from_os_error(code: i32) -> Error {
Error { repr: Repr::Os(code) } Error { repr: Repr::Os(code) }
} }

View File

@ -193,7 +193,7 @@ impl Process {
let errno = combine(&bytes[0.. 4]); let errno = combine(&bytes[0.. 4]);
assert!(p.wait().is_ok(), assert!(p.wait().is_ok(),
"wait() should either return Ok or panic"); "wait() should either return Ok or panic");
return Err(Error::from_os_error(errno)) return Err(Error::from_raw_os_error(errno))
} }
Ok(0) => return Ok(p), Ok(0) => return Ok(p),
Err(ref e) if e.kind() == ErrorKind::Interrupted => {} Err(ref e) if e.kind() == ErrorKind::Interrupted => {}

View File

@ -212,7 +212,7 @@ pub unsafe fn create(stack: usize, p: Thunk) -> io::Result<rust_thread> {
assert_eq!(pthread_attr_destroy(&mut attr), 0); assert_eq!(pthread_attr_destroy(&mut attr), 0);
return if ret != 0 { return if ret != 0 {
Err(io::Error::from_os_error(ret)) Err(io::Error::from_raw_os_error(ret))
} else { } else {
mem::forget(p); // ownership passed to pthread_create mem::forget(p); // ownership passed to pthread_create
Ok(native) Ok(native)

View File

@ -43,7 +43,7 @@ pub fn init() {
/// Returns the last error from the Windows socket interface. /// Returns the last error from the Windows socket interface.
fn last_error() -> io::Error { fn last_error() -> io::Error {
io::Error::from_os_error(unsafe { c::WSAGetLastError() }) io::Error::from_raw_os_error(unsafe { c::WSAGetLastError() })
} }
/// Checks if the signed integer is the Windows constant `SOCKET_ERROR` (-1) /// Checks if the signed integer is the Windows constant `SOCKET_ERROR` (-1)