pub trait Named<I: Id> {
// Required methods
fn id(&self) -> I;
fn set_id(&mut self, id: I);
fn name(&self) -> &str;
fn position(&self) -> Option<Position>;
// Provided method
fn naming(&self) -> Naming { ... }
}
pub trait Named<I: Id> {
// Required methods
fn id(&self) -> I;
fn set_id(&mut self, id: I);
fn name(&self) -> &str;
fn position(&self) -> Option<Position>;
// Provided method
fn naming(&self) -> Naming { ... }
}