use proc_macro2::{Ident, Span};
pub trait IdentConstructExt {
fn from_str(str: &str) -> Ident;
fn with_suffix(base: &Ident, suffix: &str) -> Ident;
fn with_prefix(prefix: &str, base: &Ident) -> Ident;
}
impl IdentConstructExt for Ident {
fn from_str(str: &str) -> Ident {
Ident::new(str, Span::call_site())
}
fn with_suffix(base: &Ident, suffix: &str) -> Ident {
Ident::new(&format!("{}{}", base, suffix), base.span())
}
fn with_prefix(prefix: &str, base: &Ident) -> Ident {
Ident::new(&format!("{}{}", prefix, base), base.span())
}
}