From 4bee70b7f621db1063e8b25c2fbc917b88862bf1 Mon Sep 17 00:00:00 2001 From: itsjunetime Date: Tue, 17 Jun 2025 15:29:24 -0600 Subject: [PATCH 1/2] Impl Diffable for NonZero with 'leaf!' --- daft/src/core_impls.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/daft/src/core_impls.rs b/daft/src/core_impls.rs index 31a587a..e6de4e3 100644 --- a/daft/src/core_impls.rs +++ b/daft/src/core_impls.rs @@ -5,9 +5,13 @@ use core::{ cell::RefCell, marker::PhantomData, net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr, SocketAddrV4, SocketAddrV6}, + num::{ + NonZeroI128, NonZeroI16, NonZeroI32, NonZeroI64, NonZeroI8, + NonZeroU128, NonZeroU16, NonZeroU32, NonZeroU64, NonZeroU8, + }, }; -leaf! { i64, i32, i16, i8, u64, u32, u16, u8, char, bool, isize, usize, () } +leaf! { i64, i32, i16, i8, u64, u32, u16, u8, char, bool, isize, usize, NonZeroU8, NonZeroU16, NonZeroU32, NonZeroU64, NonZeroU128, NonZeroI8, NonZeroI16, NonZeroI32, NonZeroI64, NonZeroI128, () } leaf! { IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr, SocketAddrV4, SocketAddrV6 } leaf! { str } From 0ea1d44c1fa08c33d32253800f71962317fa7233 Mon Sep 17 00:00:00 2001 From: itsjunetime Date: Tue, 17 Jun 2025 15:36:35 -0600 Subject: [PATCH 2/2] Add Isize and Usize impls --- daft/src/core_impls.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/daft/src/core_impls.rs b/daft/src/core_impls.rs index e6de4e3..65bbad9 100644 --- a/daft/src/core_impls.rs +++ b/daft/src/core_impls.rs @@ -7,11 +7,12 @@ use core::{ net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr, SocketAddrV4, SocketAddrV6}, num::{ NonZeroI128, NonZeroI16, NonZeroI32, NonZeroI64, NonZeroI8, - NonZeroU128, NonZeroU16, NonZeroU32, NonZeroU64, NonZeroU8, + NonZeroIsize, NonZeroU128, NonZeroU16, NonZeroU32, NonZeroU64, + NonZeroU8, NonZeroUsize, }, }; -leaf! { i64, i32, i16, i8, u64, u32, u16, u8, char, bool, isize, usize, NonZeroU8, NonZeroU16, NonZeroU32, NonZeroU64, NonZeroU128, NonZeroI8, NonZeroI16, NonZeroI32, NonZeroI64, NonZeroI128, () } +leaf! { i64, i32, i16, i8, u64, u32, u16, u8, char, bool, isize, usize, NonZeroU8, NonZeroU16, NonZeroU32, NonZeroU64, NonZeroU128, NonZeroI8, NonZeroI16, NonZeroI32, NonZeroI64, NonZeroI128, NonZeroIsize, NonZeroUsize, () } leaf! { IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr, SocketAddrV4, SocketAddrV6 } leaf! { str }