rust trait default implementation with fields