commit:     8979a506eec525f0834a675bcf8bea60b16496bf
Author:     orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Fri May 16 13:22:19 2025 +0000
Commit:     orbea <orbea <AT> riseup <DOT> net>
CommitDate: Fri May 16 13:22:19 2025 +0000
URL:        https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=8979a506

dev-lang/rust: sync ::gentoo

Signed-off-by: orbea <orbea <AT> riseup.net>

 dev-lang/rust/files/1.86.0-znver.patch | 186 +++++++++++++++++++++++++++++++++
 dev-lang/rust/rust-1.86.0-r1.ebuild    |   1 +
 2 files changed, 187 insertions(+)

diff --git a/dev-lang/rust/files/1.86.0-znver.patch 
b/dev-lang/rust/files/1.86.0-znver.patch
new file mode 100644
index 0000000..5b93a76
--- /dev/null
+++ b/dev-lang/rust/files/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<T, const N: usize>(
++pub(crate) struct Mask<T, const N: usize>(
+     <LaneCount<N> as SupportedLaneCount>::BitMask,
+     PhantomData<T>,
+ )
+@@ -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 = <LaneCount<N> 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<T, N> {
++    pub(crate) fn to_int(self) -> Simd<T, N> {
+         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<T, N>) -> Self {
++    pub(crate) unsafe fn from_int_unchecked(value: Simd<T, N>) -> 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 = <LaneCount<N> 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<U>(self) -> Mask<U, N>
++    pub(crate) fn convert<U>(self) -> Mask<U, N>
+     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<T, const N: usize>(Simd<T, N>)
++pub(crate) struct Mask<T, const N: usize>(Simd<T, N>)
+ where
+     T: MaskElement,
+     LaneCount<N>: 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<T, N> {
++    pub(crate) fn to_int(self) -> Simd<T, N> {
+         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<T, N>) -> Self {
++    pub(crate) unsafe fn from_int_unchecked(value: Simd<T, N>) -> Self {
+         Self(value)
+     }
+ 
+     #[inline]
+     #[must_use = "method returns a new mask and does not mutate the original 
value"]
+-    pub fn convert<U>(self) -> Mask<U, N>
++    pub(crate) fn convert<U>(self) -> Mask<U, N>
+     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()) }
+     }

diff --git a/dev-lang/rust/rust-1.86.0-r1.ebuild 
b/dev-lang/rust/rust-1.86.0-r1.ebuild
index 0db82c9..9b5ad10 100644
--- a/dev-lang/rust/rust-1.86.0-r1.ebuild
+++ b/dev-lang/rust/rust-1.86.0-r1.ebuild
@@ -175,6 +175,7 @@ PATCHES=(
        "${FILESDIR}"/1.85.0-cross-compile-libz.patch
        "${FILESDIR}"/1.85.0-musl-dynamic-linking.patch
        "${FILESDIR}"/1.67.0-doc-wasm.patch
+       "${FILESDIR}"/1.86.0-znver.patch
 )
 
 clear_vendor_checksums() {

Reply via email to