pub(crate) fn convert_to_string<T: quote::ToTokens>(item: &T) -> String {
    let tokenstream = quote! { #item };

    tokenstream.to_string()
}
/// Helper which converts any type in the `quote/proc_macro2/syn` crates which implements
/// `ToTokens` (that is to say, anything that can be placed inside a `quote!` or `parse_quote!`
/// block), to a Rust string.  This isn't a cheap conversion so don't undertake it lightly.
///
/// It should primarily be used when generating error messages or in unit tests.  Using it in
/// production code is an anti-pattern


It should primarily be used when generating error messages or in unit tests.  Using it in
production code is an anti-pattern
It should primarily be used when generating error messages or in unit tests . Using it in production code is an anti - pattern
pub(crate) fn convert_to_string<T: quote::ToTokens>(item: &T) -> String {
    let tokenstream = quote! { #item };
    tokenstream.to_string()
}
pub ( crate ) fn convert_to_string < T : quote :: ToTokens > ( item : & T ) -> String { let tokenstream = quote ! { item } ; tokenstream . to_string ( ) }
Helper which converts any type in the `quote/proc_macro2/syn` crates which implements
`ToTokens` (that is to say, anything that can be placed inside a `quote!` or `parse_quote!`
block), to a Rust string.
Helper which converts any type in the ` quote / proc_macro2 / syn ` crates which implements ` ToTokens ` ( that is to say anything that can be placed inside a ` quote! ` or ` parse_quote! ` block ) to a Rust string .
item
&T
item
&T