blob: 561962cf7141d0350c76be877b91fc0102d6073b (
plain)
use proc_macro::{Ident, Span, TokenStream, TokenTree};
#[proc_macro]
pub fn concat_idents(input: TokenStream) -> TokenStream {
let mut buffer = String::new();
for token in input {
if let TokenTree::Ident(identifier) = token {
buffer.push_str(&identifier.to_string());
}
}
let mut stream = TokenStream::new();
stream.extend([Ident::new(&buffer, Span::call_site())]);
stream
}
|