pub trait HasShape { type WithShape<New: Shape>: HasShape<Shape = New>; type Shape: Shape; // Required method fn shape(&self) -> &Self::Shape; }
Represents something that has a Shape.