1use core::fmt::Debug;
4use core::hash::Hash;
5
6pub trait Integer:
13 Debug + Default + Copy + Eq + Ord + Hash + Sized + Send + Sync + 'static + private::Sealed
14{
15}
16
17impl Integer for u8 {}
18impl Integer for u16 {}
19impl Integer for u32 {}
20impl Integer for u64 {}
21impl Integer for u128 {}
22impl Integer for i8 {}
23impl Integer for i16 {}
24impl Integer for i32 {}
25impl Integer for i64 {}
26impl Integer for i128 {}
27
28mod private {
29 pub trait Sealed {}
30 impl Sealed for u8 {}
31 impl Sealed for u16 {}
32 impl Sealed for u32 {}
33 impl Sealed for u64 {}
34 impl Sealed for u128 {}
35 impl Sealed for i8 {}
36 impl Sealed for i16 {}
37 impl Sealed for i32 {}
38 impl Sealed for i64 {}
39 impl Sealed for i128 {}
40}