1use core::num::{
2 NonZeroI16, NonZeroI32, NonZeroI64, NonZeroI8, NonZeroIsize, NonZeroU16, NonZeroU32,
3 NonZeroU64, NonZeroU8, NonZeroUsize,
4};
5
6use crate::{uDebug, uDisplay, uWrite, Formatter};
7
8macro_rules! nz {
9 ($($NZ:ident : $inner:ident,)*) => {
10 $(
11 impl uDebug for $NZ {
12 #[inline(always)]
13 fn fmt<W>(&self, f: &mut Formatter<'_, W>) -> Result<(), W::Error>
14 where
15 W: uWrite + ?Sized,
16 {
17 <$inner as uDebug>::fmt(&self.get(), f)
18 }
19 }
20
21 impl uDisplay for $NZ {
22 #[inline(always)]
23 fn fmt<W>(&self, f: &mut Formatter<'_, W>) -> Result<(), W::Error>
24 where
25 W: uWrite + ?Sized,
26 {
27 <$inner as uDisplay>::fmt(&self.get(), f)
28 }
29 }
30 )*
31 }
32}
33
34nz!(
35 NonZeroI16: i16,
36 NonZeroI32: i32,
37 NonZeroI64: i64,
38 NonZeroI8: i8,
39 NonZeroIsize: isize,
40 NonZeroU16: u16,
41 NonZeroU32: u32,
42 NonZeroU64: u64,
43 NonZeroU8: u8,
44 NonZeroUsize: usize,
45);