use std::fmt::{Debug, Display}; use std::ops::{Add, Sub, Mul, Div}; impl Coordinate for u16 {} /// A linear coordinate. pub trait Coordinate: Send + Sync + Copy + Add + Sub + Mul + Div + Ord + PartialEq + Eq + Debug + Display + Default + From + Into + Into + Into { #[inline] fn minus (self, other: Self) -> Self { if self >= other { self - other } else { 0.into() } } #[inline] fn zero () -> Self { 0.into() } }