usecrate::mod_2d::Point2D;/// Shape can calculate it's own area
pubtraitHasArea{/// Gets area of shape
fnarea(&self)->f32;}/// Shape can calculate it's own perimeter
pubtraitHasPerimeter{/// Gets perimeter of shape
fnperimeter(&self)->f32;}/// Shape contains a point
pubtraitContainsPoint{/// Determines if point is within the shape
fncontains(&self, other:&Point2D)->bool;}