summaryrefslogtreecommitdiff
path: root/dev-lang/rust/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-02-12 09:56:54 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-02-12 09:56:54 +0000
commitebc282ef4dfa408accac685565b8ee5f6faec119 (patch)
treec0a4f713228cda0ab17eed46f0bb7ca8cb8be2f6 /dev-lang/rust/files
parent6c8694a707151d59555b0e4e48235f085ce166c3 (diff)
gentoo auto-resync : 12:02:2023 - 09:56:54
Diffstat (limited to 'dev-lang/rust/files')
-rw-r--r--dev-lang/rust/files/1.67.0-bootstrap.patch38
-rw-r--r--dev-lang/rust/files/1.67.0-doc-wasm.patch34
2 files changed, 34 insertions, 38 deletions
diff --git a/dev-lang/rust/files/1.67.0-bootstrap.patch b/dev-lang/rust/files/1.67.0-bootstrap.patch
deleted file mode 100644
index eb160661a2c2..000000000000
--- a/dev-lang/rust/files/1.67.0-bootstrap.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 675fa0b3dd5fe14b43ad5b7862f4528df7322468 Mon Sep 17 00:00:00 2001
-From: Michael Goulet <michael@errs.io>
-Date: Mon, 12 Dec 2022 18:29:33 +0000
-Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=A8=20fix=20unsoundness=20in=20bootstr?=
- =?UTF-8?q?ap=20cache=20code?=
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
----
- src/bootstrap/cache.rs | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/src/bootstrap/cache.rs b/src/bootstrap/cache.rs
-index be5c9bb078808..05f25af68ea8f 100644
---- a/src/bootstrap/cache.rs
-+++ b/src/bootstrap/cache.rs
-@@ -89,16 +89,16 @@ impl<T: Internable + Hash> Hash for Interned<T> {
-
- impl<T: Internable + Deref> Deref for Interned<T> {
- type Target = T::Target;
-- fn deref(&self) -> &'static Self::Target {
-+ fn deref(&self) -> &Self::Target {
- let l = T::intern_cache().lock().unwrap();
-- unsafe { mem::transmute::<&Self::Target, &'static Self::Target>(l.get(*self)) }
-+ unsafe { mem::transmute::<&Self::Target, &Self::Target>(l.get(*self)) }
- }
- }
-
- impl<T: Internable + AsRef<U>, U: ?Sized> AsRef<U> for Interned<T> {
-- fn as_ref(&self) -> &'static U {
-+ fn as_ref(&self) -> &U {
- let l = T::intern_cache().lock().unwrap();
-- unsafe { mem::transmute::<&U, &'static U>(l.get(*self).as_ref()) }
-+ unsafe { mem::transmute::<&U, &U>(l.get(*self).as_ref()) }
- }
- }
-
diff --git a/dev-lang/rust/files/1.67.0-doc-wasm.patch b/dev-lang/rust/files/1.67.0-doc-wasm.patch
new file mode 100644
index 000000000000..06011deb795b
--- /dev/null
+++ b/dev-lang/rust/files/1.67.0-doc-wasm.patch
@@ -0,0 +1,34 @@
+From 92aa5f6b272bcdc020a34f8d90f9ef851b5b4504 Mon Sep 17 00:00:00 2001
+From: John Millikin <john@john-millikin.com>
+Date: Mon, 9 Jan 2023 13:54:21 +0900
+Subject: [PATCH] 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`.
+---
+ library/std/src/os/net/mod.rs | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/library/std/src/os/net/mod.rs b/library/std/src/os/net/mod.rs
+index 5ec267c41e97c..b7046dd7c598c 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;