pub trait WideMul{ type Output; fn wide_mul(self,rhs:Rhs)->Self::Output; } pub trait WideDiv{ type Output; fn wide_div(self,rhs:Rhs)->Self::Output; } pub trait WideDot{ type Output; fn wide_dot(self,rhs:Rhs)->Self::Output; } pub trait WideCross{ type Output; fn wide_cross(self,rhs:Rhs)->Self::Output; }