use super::*; pub use self::concat_idents as call_on; pub fn concat_idents (input: TokenStream2) -> Result { let ref mut acc = String::new(); let input = Punctuated::<::proc_macro2::TokenTree, Token![,]>::parse_terminated .parse2(input)? ; if input.is_empty() { return Err(Error::new(Span::call_site(), "Missing args")); } input .iter() .for_each(|tt| { use ::core::fmt::Write; let _ = write!(acc, "{}", tt); }) ; parse_str::(acc) .map_err(|err| Error::new_spanned(input, &format!( "`{}` is not a valid identifier: {}", acc, err, ))) }