about summary refs log tree commit diff
path: root/library/std/src/sys
diff options
context:
space:
mode:
authorChristiaan Dirkx <christiaan@dirkx.email>2021-03-04 14:03:26 +0100
committerChristiaan Dirkx <christiaan@dirkx.email>2021-05-03 16:56:20 +0200
commit0e2cd33db84a4787391989c69ed3ce70ce8c07ec (patch)
treee15cd5bfea05ba74f138f4eac428a4b5bd4d8087 /library/std/src/sys
parentc825bc431ee5b815847b9bab693c59c43986fc4b (diff)
downloadrust-0e2cd33db84a4787391989c69ed3ce70ce8c07ec.tar.gz
rust-0e2cd33db84a4787391989c69ed3ce70ce8c07ec.zip
Cleanup `std::os`
Diffstat (limited to 'library/std/src/sys')
-rw-r--r--library/std/src/sys/mod.rs58
1 files changed, 23 insertions, 35 deletions
diff --git a/library/std/src/sys/mod.rs b/library/std/src/sys/mod.rs
index 2450a7aac5e..33e68d12b0a 100644
--- a/library/std/src/sys/mod.rs
+++ b/library/std/src/sys/mod.rs
@@ -49,25 +49,22 @@ cfg_if::cfg_if! {
     }
 }
 
-// Import essential modules from both platforms when documenting. These are
-// then later used in the `std::os` module when documenting, for example,
-// Windows when we're compiling for Linux.
+// Import essential modules from platforms used in `std::os` when documenting.
+//
+// Note that on some platforms those modules don't compile
+// (missing things in `libc` which is empty), so they are not included in `std::os` and can be
+// omitted here as well.
 
 #[cfg(doc)]
+#[cfg(not(any(
+    target_os = "hermit",
+    all(target_arch = "wasm32", not(target_os = "wasi")),
+    all(target_vendor = "fortanix", target_env = "sgx")
+)))]
 cfg_if::cfg_if! {
     if #[cfg(unix)] {
-        // On unix we'll document what's already available
         #[stable(feature = "rust1", since = "1.0.0")]
         pub use self::ext as unix_ext;
-    } else if #[cfg(any(target_os = "hermit",
-                        all(target_arch = "wasm32", not(target_os = "wasi")),
-                        all(target_vendor = "fortanix", target_env = "sgx")))] {
-        // On non-WASI wasm right now the module below doesn't compile
-        // (missing things in `libc` which is empty) so just omit everything
-        // with an empty module
-        #[unstable(issue = "none", feature = "std_internals")]
-        #[allow(missing_docs)]
-        pub mod unix_ext {}
     } else {
         #[path = "unix/ext/mod.rs"]
         pub mod unix_ext;
@@ -75,23 +72,20 @@ cfg_if::cfg_if! {
 }
 
 #[cfg(doc)]
+#[cfg(not(any(
+    target_os = "hermit",
+    all(target_arch = "wasm32", not(target_os = "wasi")),
+    all(target_vendor = "fortanix", target_env = "sgx")
+)))]
 cfg_if::cfg_if! {
     if #[cfg(windows)] {
-        // On windows we'll just be documenting what's already available
         #[allow(missing_docs)]
         #[stable(feature = "rust1", since = "1.0.0")]
         pub use self::ext as windows_ext;
-    } else if #[cfg(any(target_os = "hermit",
-                        all(target_arch = "wasm32", not(target_os = "wasi")),
-                        all(target_vendor = "fortanix", target_env = "sgx")))] {
-        // On non-WASI wasm right now the shim below doesn't compile, so
-        // just omit it
-        #[unstable(issue = "none", feature = "std_internals")]
-        #[allow(missing_docs)]
-        pub mod windows_ext {}
     } else {
-        // On all other platforms (aka linux/osx/etc) then pull in a "minimal"
+        // On non-Windows platforms (aka linux/osx/etc) pull in a "minimal"
         // amount of windows goop which ends up compiling
+
         #[macro_use]
         #[path = "windows/compat.rs"]
         mod compat;
@@ -105,22 +99,16 @@ cfg_if::cfg_if! {
 }
 
 #[cfg(doc)]
+#[cfg(not(any(
+    target_os = "hermit",
+    all(target_arch = "wasm32", not(target_os = "wasi")),
+    all(target_vendor = "fortanix", target_env = "sgx")
+)))]
 cfg_if::cfg_if! {
     if #[cfg(target_os = "wasi")] {
-        // On WASI we'll document what's already available
         #[stable(feature = "wasi_ext_doc", since = "1.35.0")]
         pub use self::ext as wasi_ext;
-    } else if #[cfg(any(target_os = "hermit",
-                        target_arch = "wasm32",
-                        all(target_vendor = "fortanix", target_env = "sgx")))] {
-        // On non-WASI wasm right now the module below doesn't compile
-        // (missing things in `libc` which is empty) so just omit everything
-        // with an empty module
-        #[unstable(issue = "none", feature = "std_internals")]
-        #[allow(missing_docs)]
-        pub mod wasi_ext {}
-    } else {
-        // On other platforms like Windows document the bare bones of WASI
+    }  else {
         #[path = "wasi/ext/mod.rs"]
         #[stable(feature = "wasi_ext_doc", since = "1.35.0")]
         pub mod wasi_ext;