/// A trait created to represent types that expose a
/// square root method. Relies explicitly on `sqrt`
pubtraitSqrt{fnsquare_root(&self)->Self;}macro_rules!impl_sqrt{($($ty:ty),*)=>{$(implSqrt for$ty{fnsquare_root(&self)->Self{self.sqrt()}})*};}impl_sqrt!(f64,f32);