pub trait HasMaxValue {}
macro_rules! impl_has_max_value_for_primitive {
($($ty:ty),+ $(,)?) => {
$(impl HasMaxValue for $ty {})+
};
}
impl_has_max_value_for_primitive!(i8, i16, i32, i64, i128, isize);
impl_has_max_value_for_primitive!(u8, u16, u32, u64, u128, usize);
impl_has_max_value_for_primitive!(f32, f64);