From 7024bfffbdd1fb3dafa3f263f6d10fd2aed2ff2d Mon Sep 17 00:00:00 2001 From: Christiaan Dirkx Date: Thu, 4 Mar 2021 14:14:44 +0100 Subject: Move `std::sys::hermit::ext` to `std::os::hermit` --- library/std/src/os/hermit/ffi.rs | 38 +++++++++++++++++++++++++++++++++++ library/std/src/os/hermit/mod.rs | 13 ++++++++++++ library/std/src/os/mod.rs | 7 ++++++- library/std/src/sys/hermit/ext/ffi.rs | 38 ----------------------------------- library/std/src/sys/hermit/ext/mod.rs | 14 ------------- library/std/src/sys/hermit/mod.rs | 1 - 6 files changed, 57 insertions(+), 54 deletions(-) create mode 100644 library/std/src/os/hermit/ffi.rs create mode 100644 library/std/src/os/hermit/mod.rs delete mode 100644 library/std/src/sys/hermit/ext/ffi.rs delete mode 100644 library/std/src/sys/hermit/ext/mod.rs (limited to 'library/std/src') 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")] diff --git a/library/std/src/sys/hermit/ext/ffi.rs b/library/std/src/sys/hermit/ext/ffi.rs deleted file mode 100644 index 07b59a02556..00000000000 --- a/library/std/src/sys/hermit/ext/ffi.rs +++ /dev/null @@ -1,38 +0,0 @@ -//! 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/sys/hermit/ext/mod.rs b/library/std/src/sys/hermit/ext/mod.rs deleted file mode 100644 index ea87d0ad2c9..00000000000 --- a/library/std/src/sys/hermit/ext/mod.rs +++ /dev/null @@ -1,14 +0,0 @@ -#![stable(feature = "rust1", since = "1.0.0")] -#![allow(missing_docs)] - -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/sys/hermit/mod.rs b/library/std/src/sys/hermit/mod.rs index 0c49a6fb6de..15a76bbd2c9 100644 --- a/library/std/src/sys/hermit/mod.rs +++ b/library/std/src/sys/hermit/mod.rs @@ -24,7 +24,6 @@ pub mod args; pub mod cmath; pub mod condvar; pub mod env; -pub mod ext; pub mod fd; pub mod fs; #[path = "../unsupported/io.rs"] -- cgit 1.4.1-3-g733a5