Auto merge of #23353 - alexcrichton:stabilize-os, r=aturon
This commit starts to organize the `std::os::$platform` modules and in the
process stabilizes some of the functionality contained within. The organization
of these modules will reflect the organization of the standard library itself
with extension traits for primitives in the same corresponding module.
The OS-specific modules will grow more functionality over time including
concrete types that are not extending functionality of other structures, and
these will either go into the closest module in `std::os::$platform` or they
will grow a new module in the hierarchy.
The following items are now stable:
* `os::{unix, windows}`
* `unix::ffi`
* `unix::ffi::OsStrExt`
* `unix::ffi::OsStrExt::{from_bytes, as_bytes, to_cstring}`
* `unix::ffi::OsString`
* `unix::ffi::OsStringExt::{from_vec, into_vec}`
* `unix::process`
* `unix::process::CommandExt`
* `unix::process::CommandExt::{uid, gid}`
* `unix::process::ExitStatusExt`
* `unix::process::ExitStatusExt::signal`
* `unix::prelude`
* `windows::ffi`
* `windows::ffi::OsStringExt`
* `windows::ffi::OsStringExt::from_wide`
* `windows::ffi::OsStrExt`
* `windows::ffi::OsStrExt::encode_wide`
* `windows::prelude`
The following items remain unstable:
* `unix::io`
* `unix::io::{Fd, AsRawFd}`
* `unix::fs::{PermissionsExt, OpenOptionsExt}`
* `windows::io`
* `windows::io::{Handle, AsRawHandle}`
* `windows::io::{Socket, AsRawSocket}`
* `windows::fs`
* `windows::fs::OpenOptionsExt`
Due to the reorgnization of the platform extension modules, this commit is a
breaking change. Most imports can be fixed by adding the relevant libstd module
in the `use` path (such as `ffi` or `fs`).
[breaking-change]
This commit is contained in:
@@ -573,7 +573,7 @@ mod tests {
|
||||
#[cfg(all(unix, not(target_os="android")))]
|
||||
#[test]
|
||||
fn signal_reported_right() {
|
||||
use os::unix::ExitStatusExt;
|
||||
use os::unix::process::ExitStatusExt;
|
||||
|
||||
let p = Command::new("/bin/sh").arg("-c").arg("kill -9 $$").spawn();
|
||||
assert!(p.is_ok());
|
||||
@@ -633,7 +633,7 @@ mod tests {
|
||||
#[cfg(all(unix, not(target_os="android")))]
|
||||
#[test]
|
||||
fn uid_works() {
|
||||
use os::unix::*;
|
||||
use os::unix::prelude::*;
|
||||
use libc;
|
||||
let mut p = Command::new("/bin/sh")
|
||||
.arg("-c").arg("true")
|
||||
@@ -646,7 +646,7 @@ mod tests {
|
||||
#[cfg(all(unix, not(target_os="android")))]
|
||||
#[test]
|
||||
fn uid_to_root_fails() {
|
||||
use os::unix::*;
|
||||
use os::unix::prelude::*;
|
||||
use libc;
|
||||
|
||||
// if we're already root, this isn't a valid test. Most of the bots run
|
||||
|
||||
Reference in New Issue
Block a user