1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
//! Position /// Position types. /// /// # Examples /// /// ``` /// use mpl::position::Position; /// /// #[derive(Clone, PartialEq, PartialOrd)] /// struct BytePos(u32); /// /// impl Position for BytePos {} /// ``` pub trait Position: Clone + PartialOrd {} macro_rules! position_impl { ( $( $t:ty ),* ) => ($( impl Position for $t {} )*) } position_impl!(i8, i16, i32, i64, i128, isize, u8, u16, u32, u64, u128, usize, f32, f64);