From dcefa4aa6846869a1066abbc3e4b852a86e98183 Mon Sep 17 00:00:00 2001 From: Elichai Turkel Date: Sun, 13 Aug 2023 18:06:24 +0300 Subject: [PATCH] Implement Standard support for signed NonZero* types --- src/distributions/integer.rs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/distributions/integer.rs b/src/distributions/integer.rs index 418eea9ff1..3ef746b992 100644 --- a/src/distributions/integer.rs +++ b/src/distributions/integer.rs @@ -18,8 +18,10 @@ use core::arch::x86::{__m128i, __m256i}; use core::arch::x86_64::__m512i; #[cfg(target_arch = "x86_64")] use core::arch::x86_64::{__m128i, __m256i}; -use core::num::{NonZeroU16, NonZeroU32, NonZeroU64, NonZeroU8, NonZeroUsize, - NonZeroU128}; +use core::num::{ + NonZeroU16, NonZeroU32, NonZeroU64, NonZeroU8, NonZeroUsize,NonZeroU128, + NonZeroI16, NonZeroI32, NonZeroI64, NonZeroI8, NonZeroIsize,NonZeroI128 +}; #[cfg(feature = "simd_support")] use core::simd::*; use core::mem; @@ -114,6 +116,13 @@ impl_nzint!(NonZeroU64, NonZeroU64::new); impl_nzint!(NonZeroU128, NonZeroU128::new); impl_nzint!(NonZeroUsize, NonZeroUsize::new); +impl_nzint!(NonZeroI8, NonZeroI8::new); +impl_nzint!(NonZeroI16, NonZeroI16::new); +impl_nzint!(NonZeroI32, NonZeroI32::new); +impl_nzint!(NonZeroI64, NonZeroI64::new); +impl_nzint!(NonZeroI128, NonZeroI128::new); +impl_nzint!(NonZeroIsize, NonZeroIsize::new); + macro_rules! x86_intrinsic_impl { ($($intrinsic:ident),+) => {$( /// Available only on x86/64 platforms