about summary refs log tree commit diff
path: root/library/std/src
diff options
context:
space:
mode:
authorJohn Millikin <john@john-millikin.com>2023-01-09 13:54:21 +0900
committerJohn Millikin <john@john-millikin.com>2023-01-09 14:07:05 +0900
commit92aa5f6b272bcdc020a34f8d90f9ef851b5b4504 (patch)
treebdb65d13ab05b3351873c738d090ce108b6930f5 /library/std/src
parenta377893da2cd7124e5a18c7116cbb70e16dd5541 (diff)
downloadrust-92aa5f6b272bcdc020a34f8d90f9ef851b5b4504.tar.gz
rust-92aa5f6b272bcdc020a34f8d90f9ef851b5b4504.zip
Disable `linux_ext` in wasm32 and fortanix rustdoc builds.
The `std::os::unix` module is stubbed out when building docs for these
target platforms. The introduction of Linux-specific extension traits
caused `std::os::net` to depend on sub-modules of `std::os::unix`,
which broke rustdoc for the `wasm32-unknown-unknown` target.

Adding an additional `#[cfg]` guard solves that rustdoc failure by
not declaring `linux_ext` on targets with a stubbed `std::os::unix`.
Diffstat (limited to 'library/std/src')
-rw-r--r--library/std/src/os/net/mod.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/library/std/src/os/net/mod.rs b/library/std/src/os/net/mod.rs
index 5ec267c41e9..b7046dd7c59 100644
--- a/library/std/src/os/net/mod.rs
+++ b/library/std/src/os/net/mod.rs
@@ -1,4 +1,13 @@
 //! OS-specific networking functionality.
 
+// See cfg macros in `library/std/src/os/mod.rs` for why these platforms must
+// be special-cased during rustdoc generation.
+#[cfg(not(all(
+    doc,
+    any(
+        all(target_arch = "wasm32", not(target_os = "wasi")),
+        all(target_vendor = "fortanix", target_env = "sgx")
+    )
+)))]
 #[cfg(any(target_os = "linux", target_os = "android", doc))]
 pub(super) mod linux_ext;