1 2 3 4 5 6 7 8 9 10 11 12 13
use num_traits::{CheckedAdd, CheckedSub, FromPrimitive, PrimInt, Signed, ToPrimitive, Unsigned}; pub trait MarginPrimInt: Send + Sync + PrimInt + ToPrimitive + Unsigned {} pub trait PointPrimInt: Send + Sync + PrimInt + CheckedAdd + CheckedSub + FromPrimitive + Signed { } impl<T> MarginPrimInt for T where T: Send + Sync + PrimInt + ToPrimitive + Unsigned {} impl<T> PointPrimInt for T where T: Send + Sync + PrimInt + CheckedAdd + CheckedSub + FromPrimitive + Signed { }