diff options
| author | Christiaan Dirkx <christiaan@dirkx.email> | 2021-03-04 14:14:44 +0100 |
|---|---|---|
| committer | Christiaan Dirkx <christiaan@dirkx.email> | 2021-05-03 16:56:20 +0200 |
| commit | 7024bfffbdd1fb3dafa3f263f6d10fd2aed2ff2d (patch) | |
| tree | 75237bc9e079811d21c3bde8c450ffbc251673e9 /library/std/src/os | |
| parent | 0e2cd33db84a4787391989c69ed3ce70ce8c07ec (diff) | |
| download | rust-7024bfffbdd1fb3dafa3f263f6d10fd2aed2ff2d.tar.gz rust-7024bfffbdd1fb3dafa3f263f6d10fd2aed2ff2d.zip | |
Move `std::sys::hermit::ext` to `std::os::hermit`
Diffstat (limited to 'library/std/src/os')
| -rw-r--r-- | library/std/src/os/hermit/ffi.rs | 38 | ||||
| -rw-r--r-- | library/std/src/os/hermit/mod.rs | 13 | ||||
| -rw-r--r-- | library/std/src/os/mod.rs | 7 |
3 files changed, 57 insertions, 1 deletions
diff --git a/library/std/src/os/hermit/ffi.rs b/library/std/src/os/hermit/ffi.rs new file mode 100644 index 00000000000..07b59a02556 --- /dev/null +++ b/library/std/src/os/hermit/ffi.rs @@ -0,0 +1,38 @@ +//! HermitCore-specific extension to the primitives in the `std::ffi` module +//! +//! # Examples +//! +//! ``` +//! use std::ffi::OsString; +//! use std::os::hermit::ffi::OsStringExt; +//! +//! let bytes = b"foo".to_vec(); +//! +//! // OsStringExt::from_vec +//! let os_string = OsString::from_vec(bytes); +//! assert_eq!(os_string.to_str(), Some("foo")); +//! +//! // OsStringExt::into_vec +//! let bytes = os_string.into_vec(); +//! assert_eq!(bytes, b"foo"); +//! ``` +//! +//! ``` +//! use std::ffi::OsStr; +//! use std::os::hermit::ffi::OsStrExt; +//! +//! let bytes = b"foo"; +//! +//! // OsStrExt::from_bytes +//! let os_str = OsStr::from_bytes(bytes); +//! assert_eq!(os_str.to_str(), Some("foo")); +//! +//! // OsStrExt::as_bytes +//! let bytes = os_str.as_bytes(); +//! assert_eq!(bytes, b"foo"); +//! ``` + +#![stable(feature = "rust1", since = "1.0.0")] + +#[stable(feature = "rust1", since = "1.0.0")] +pub use crate::sys_common::os_str_bytes::*; diff --git a/library/std/src/os/hermit/mod.rs b/library/std/src/os/hermit/mod.rs new file mode 100644 index 00000000000..4657b545a1b --- /dev/null +++ b/library/std/src/os/hermit/mod.rs @@ -0,0 +1,13 @@ +#![stable(feature = "rust1", since = "1.0.0")] + +pub mod ffi; + +/// A prelude for conveniently writing platform-specific code. +/// +/// Includes all extension traits, and some important type definitions. +#[stable(feature = "rust1", since = "1.0.0")] +pub mod prelude { + #[doc(no_inline)] + #[stable(feature = "rust1", since = "1.0.0")] + pub use super::ffi::{OsStrExt, OsStringExt}; +} diff --git a/library/std/src/os/mod.rs b/library/std/src/os/mod.rs index 7e333e2b778..fc684f0912f 100644 --- a/library/std/src/os/mod.rs +++ b/library/std/src/os/mod.rs @@ -48,7 +48,12 @@ cfg_if::cfg_if! { #[cfg(all(target_vendor = "fortanix", target_env = "sgx"))] pub mod fortanix_sgx; - #[cfg(any(unix, target_os = "hermit"))] + #[cfg(target_os = "hermit")] + mod hermit; + #[cfg(target_os = "hermit")] + pub use hermit as unix; + + #[cfg(unix)] #[stable(feature = "rust1", since = "1.0.0")] pub use crate::sys::ext as unix; #[cfg(target_os = "android")] |
