1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
use crate::{FmtArg, PanicFmt, PanicVal};
use core::num::{
NonZeroI128, NonZeroI16, NonZeroI32, NonZeroI64, NonZeroI8, NonZeroIsize, NonZeroU128,
NonZeroU16, NonZeroU32, NonZeroU64, NonZeroU8, NonZeroUsize,
};
macro_rules! nonzero_impls {
($(($int_ctor:ident, $ty:ty))*) => (
$(
primitive_static_panicfmt!{
fn[](&self: $ty, fmtarg) {
PanicVal::$int_ctor(self.0.get(), fmtarg)
}
}
)*
impl_for_option!{
$((for[], 'static, $ty, $ty))*
}
)
}
nonzero_impls! {
(from_u8, NonZeroU8)
(from_i8, NonZeroI8)
(from_u16, NonZeroU16)
(from_i16, NonZeroI16)
(from_u32, NonZeroU32)
(from_i32, NonZeroI32)
(from_u64, NonZeroU64)
(from_i64, NonZeroI64)
(from_u128, NonZeroU128)
(from_i128, NonZeroI128)
(from_usize, NonZeroUsize)
(from_isize, NonZeroIsize)
}