Comment Comment by kaikalii trait Namer { fn first(&self) -> String; fn last(&self) -> String; // You can put this here if you want `namer.name()` fn name(&self) -> String { format!("{} {}", self.first(), self.last()) } } fn name(n: &impl Namer) -> String { format!("{} {}", n.first(), n.last()) } parent kaikalii 3 years ago