From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 375811580E0 for ; Sat, 31 May 2025 05:58:59 +0000 (UTC) Received: from lists.gentoo.org (bobolink.gentoo.org [140.211.166.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) (Authenticated sender: relay-lists.gentoo.org@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id 255093432A1 for ; Sat, 31 May 2025 05:58:59 +0000 (UTC) Received: from bobolink.gentoo.org (localhost [127.0.0.1]) by bobolink.gentoo.org (Postfix) with ESMTP id ED78B11052A; Sat, 31 May 2025 05:55:32 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bobolink.gentoo.org (Postfix) with ESMTPS id DB163110529 for ; Sat, 31 May 2025 05:55:32 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 7D018343233 for ; Sat, 31 May 2025 05:55:32 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 8E17AE9B for ; Sat, 31 May 2025 05:55:29 +0000 (UTC) From: "Matt Jolly" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Matt Jolly" Message-ID: <1748670886.1352f9e072e5d9c0e6835b2ca1fcf54717539961.kangie@gentoo> Subject: [gentoo-commits] proj/rust-patches:1.87 commit in: / X-VCS-Repository: proj/rust-patches X-VCS-Files: 1.86.0-znver.patch X-VCS-Directories: / X-VCS-Committer: kangie X-VCS-Committer-Name: Matt Jolly X-VCS-Revision: 1352f9e072e5d9c0e6835b2ca1fcf54717539961 X-VCS-Branch: 1.87 Date: Sat, 31 May 2025 05:55:29 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 023f15f1-b7e7-4238-93ba-1a7e6a42c6c0 X-Archives-Hash: 398b874478d300800f51535fa279b5ad Message-ID: <20250531055529.yAd5lbFxxV6lHoovGU3UHoUctTqJAG4gSJycTn3rROA@z> commit: 1352f9e072e5d9c0e6835b2ca1fcf54717539961 Author: Matt Jolly gentoo org> AuthorDate: Sat May 31 05:54:46 2025 +0000 Commit: Matt Jolly gentoo org> CommitDate: Sat May 31 05:54:46 2025 +0000 URL: https://gitweb.gentoo.org/proj/rust-patches.git/commit/?id=1352f9e0 Add patches for Rust 1.86.0-r2 Patches: - 1.85.0-cross-compile-libz.patch - 1.85.0-musl-dynamic-linking.patch - 1.67.0-doc-wasm.patch - 1.86.0-znver.patch Signed-off-by: Matt Jolly gentoo.org> 1.86.0-znver.patch | 186 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 186 insertions(+) diff --git a/1.86.0-znver.patch b/1.86.0-znver.patch new file mode 100644 index 0000000..5b93a76 --- /dev/null +++ b/1.86.0-znver.patch @@ -0,0 +1,186 @@ +https://github.com/rust-lang/rust/issues/138054 +https://bugs.gentoo.org/953109#c7 +diff --git a/library/portable-simd/crates/core_simd/src/lib.rs b/library/portable-simd/crates/core_simd/src/lib.rs +index 7f57847c9c234..717b882b64ba1 100644 +--- a/library/portable-simd/crates/core_simd/src/lib.rs ++++ b/library/portable-simd/crates/core_simd/src/lib.rs +@@ -35,7 +35,11 @@ + feature(stdarch_x86_avx512) + )] + #![warn(missing_docs, clippy::missing_inline_in_public_items)] // basically all items, really +-#![deny(unsafe_op_in_unsafe_fn, clippy::undocumented_unsafe_blocks)] ++#![deny( ++ unsafe_op_in_unsafe_fn, ++ unreachable_pub, ++ clippy::undocumented_unsafe_blocks ++)] + #![doc(test(attr(deny(warnings))))] + #![allow(internal_features)] + #![unstable(feature = "portable_simd", issue = "86656")] +diff --git a/library/portable-simd/crates/core_simd/src/masks/bitmask.rs b/library/portable-simd/crates/core_simd/src/masks/bitmask.rs +index db4312d5bf88a..8221d8f17e90e 100644 +--- a/library/portable-simd/crates/core_simd/src/masks/bitmask.rs ++++ b/library/portable-simd/crates/core_simd/src/masks/bitmask.rs +@@ -5,7 +5,7 @@ use core::marker::PhantomData; + + /// A mask where each lane is represented by a single bit. + #[repr(transparent)] +-pub struct Mask( ++pub(crate) struct Mask( + as SupportedLaneCount>::BitMask, + PhantomData, + ) +@@ -78,7 +78,7 @@ where + { + #[inline] + #[must_use = "method returns a new mask and does not mutate the original value"] +- pub fn splat(value: bool) -> Self { ++ pub(crate) fn splat(value: bool) -> Self { + let mut mask = as SupportedLaneCount>::BitMask::default(); + if value { + mask.as_mut().fill(u8::MAX) +@@ -93,12 +93,12 @@ where + + #[inline] + #[must_use = "method returns a new bool and does not mutate the original value"] +- pub unsafe fn test_unchecked(&self, lane: usize) -> bool { ++ pub(crate) unsafe fn test_unchecked(&self, lane: usize) -> bool { + (self.0.as_ref()[lane / 8] >> (lane % 8)) & 0x1 > 0 + } + + #[inline] +- pub unsafe fn set_unchecked(&mut self, lane: usize, value: bool) { ++ pub(crate) unsafe fn set_unchecked(&mut self, lane: usize, value: bool) { + unsafe { + self.0.as_mut()[lane / 8] ^= ((value ^ self.test_unchecked(lane)) as u8) << (lane % 8) + } +@@ -106,7 +106,7 @@ where + + #[inline] + #[must_use = "method returns a new vector and does not mutate the original value"] +- pub fn to_int(self) -> Simd { ++ pub(crate) fn to_int(self) -> Simd { + unsafe { + core::intrinsics::simd::simd_select_bitmask( + self.0, +@@ -118,19 +118,19 @@ where + + #[inline] + #[must_use = "method returns a new mask and does not mutate the original value"] +- pub unsafe fn from_int_unchecked(value: Simd) -> Self { ++ pub(crate) unsafe fn from_int_unchecked(value: Simd) -> Self { + unsafe { Self(core::intrinsics::simd::simd_bitmask(value), PhantomData) } + } + + #[inline] +- pub fn to_bitmask_integer(self) -> u64 { ++ pub(crate) fn to_bitmask_integer(self) -> u64 { + let mut bitmask = [0u8; 8]; + bitmask[..self.0.as_ref().len()].copy_from_slice(self.0.as_ref()); + u64::from_ne_bytes(bitmask) + } + + #[inline] +- pub fn from_bitmask_integer(bitmask: u64) -> Self { ++ pub(crate) fn from_bitmask_integer(bitmask: u64) -> Self { + let mut bytes = as SupportedLaneCount>::BitMask::default(); + let len = bytes.as_mut().len(); + bytes +@@ -141,7 +141,7 @@ where + + #[inline] + #[must_use = "method returns a new mask and does not mutate the original value"] +- pub fn convert(self) -> Mask ++ pub(crate) fn convert(self) -> Mask + where + U: MaskElement, + { +@@ -151,13 +151,13 @@ where + + #[inline] + #[must_use = "method returns a new bool and does not mutate the original value"] +- pub fn any(self) -> bool { ++ pub(crate) fn any(self) -> bool { + self != Self::splat(false) + } + + #[inline] + #[must_use = "method returns a new bool and does not mutate the original value"] +- pub fn all(self) -> bool { ++ pub(crate) fn all(self) -> bool { + self == Self::splat(true) + } + } +diff --git a/library/portable-simd/crates/core_simd/src/masks/full_masks.rs b/library/portable-simd/crates/core_simd/src/masks/full_masks.rs +index ae55cf1f8fa87..a693ea90b9cb8 100644 +--- a/library/portable-simd/crates/core_simd/src/masks/full_masks.rs ++++ b/library/portable-simd/crates/core_simd/src/masks/full_masks.rs +@@ -3,7 +3,7 @@ + use crate::simd::{LaneCount, MaskElement, Simd, SupportedLaneCount}; + + #[repr(transparent)] +-pub struct Mask(Simd) ++pub(crate) struct Mask(Simd) + where + T: MaskElement, + LaneCount: SupportedLaneCount; +@@ -103,36 +103,36 @@ where + { + #[inline] + #[must_use = "method returns a new mask and does not mutate the original value"] +- pub fn splat(value: bool) -> Self { ++ pub(crate) fn splat(value: bool) -> Self { + Self(Simd::splat(if value { T::TRUE } else { T::FALSE })) + } + + #[inline] + #[must_use = "method returns a new bool and does not mutate the original value"] +- pub unsafe fn test_unchecked(&self, lane: usize) -> bool { ++ pub(crate) unsafe fn test_unchecked(&self, lane: usize) -> bool { + T::eq(self.0[lane], T::TRUE) + } + + #[inline] +- pub unsafe fn set_unchecked(&mut self, lane: usize, value: bool) { ++ pub(crate) unsafe fn set_unchecked(&mut self, lane: usize, value: bool) { + self.0[lane] = if value { T::TRUE } else { T::FALSE } + } + + #[inline] + #[must_use = "method returns a new vector and does not mutate the original value"] +- pub fn to_int(self) -> Simd { ++ pub(crate) fn to_int(self) -> Simd { + self.0 + } + + #[inline] + #[must_use = "method returns a new mask and does not mutate the original value"] +- pub unsafe fn from_int_unchecked(value: Simd) -> Self { ++ pub(crate) unsafe fn from_int_unchecked(value: Simd) -> Self { + Self(value) + } + + #[inline] + #[must_use = "method returns a new mask and does not mutate the original value"] +- pub fn convert(self) -> Mask ++ pub(crate) fn convert(self) -> Mask + where + U: MaskElement, + { +@@ -221,14 +221,14 @@ where + + #[inline] + #[must_use = "method returns a new bool and does not mutate the original value"] +- pub fn any(self) -> bool { ++ pub(crate) fn any(self) -> bool { + // Safety: use `self` as an integer vector + unsafe { core::intrinsics::simd::simd_reduce_any(self.to_int()) } + } + + #[inline] + #[must_use = "method returns a new bool and does not mutate the original value"] +- pub fn all(self) -> bool { ++ pub(crate) fn all(self) -> bool { + // Safety: use `self` as an integer vector + unsafe { core::intrinsics::simd::simd_reduce_all(self.to_int()) } + }