yolol_number/traits/
mod.rs1use std::fmt::{Display, Debug};
2use std::str::FromStr;
3use num_traits::*;
4
5mod yolol_ops;
6pub use yolol_ops::YololOps;
7
8pub trait InnerBounds:
12 ArgBounds<Self> + Signed + Bounded + CheckedAdd + CheckedSub + CheckedMul + CheckedDiv + CheckedRem + One + Zero + PartialOrd
14
15 + Eq + PartialEq + Ord + FromStr {}
17
18impl<T:
19 ArgBounds<Self> + Signed + Bounded + CheckedAdd + CheckedSub + CheckedMul +
20 CheckedDiv + CheckedRem + One + Zero + PartialOrd +
21 Eq + PartialEq + Ord + FromStr>
22InnerBounds for T {}
23
24pub trait ArgBounds<T: 'static + Copy + NumBounds>: NumBounds + AsPrimitive<T> {}
27
28impl<T, U> ArgBounds<T> for U
29where T: 'static + Copy + NumBounds,
30 U: NumBounds + AsPrimitive<T>
31{}
32
33pub trait NumBounds: Display + Debug + NumCast {}
37
38impl<T: Display + Debug + NumCast> NumBounds for T {}