crate::ix!();
pub trait Named {
fn name(&self) -> Cow<'_, str>;
}
pub trait SetName {
fn set_name(&mut self, name: &str) -> Result<(), NameError>;
}
pub trait DefaultName {
fn default_name() -> Cow<'static, str>;
}
#[macro_export]
macro_rules! name {
($prefix:expr, $suffix:expr, $sep:expr) => {
&format!("{}{}{}", $prefix, $sep, $suffix)
};
($prefix:expr, $suffix:expr) => {
&format!("{}.{}", $prefix, $suffix)
};
}