Deny unreachable_pub lint
As is done in `core` since https://github.com/rust-lang/rust/pull/134286 cc https://github.com/rust-lang/rust/issues/138054
This commit is contained in:
parent
74cddcaf4d
commit
85d15a475b
3 changed files with 25 additions and 21 deletions
|
|
@ -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")]
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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()) }
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue