ufmt/impls/
nz.rs

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);