crate::ix!();
pub trait NameHistory {
fn add_name_to_history(&mut self, name: &str);
fn name_history(&self) -> Vec<Cow<'_, str>>;
}
pub trait SetNameWithHistory: SetName + NameHistory {
fn set_name_with_history(&mut self, name: &str) -> Result<(), NameError> {
self.add_name_to_history(name);
self.set_name(name)
}
}