fn wrap_in_trait(
    fn_stream: &proc_macro2::TokenStream,
    tag_index: &syn::LitStr,
) -> proc_macro2::TokenStream {
    let trait_name = trait_name_from_tag_index(tag_index);
    let doc = syn::LitStr::new(&format!(r#"Supplies a method to return values held by the tag "{}"."#, tag_index.value()), Span::call_site());
    quote!(
        #[doc=#doc]
        pub trait #trait_name<'a>: HasTags<'a> {
            #fn_stream
        }
    )
}
/// Takes a `TokenStream` for a parser or getter function function and wraps it in a trait.
Takes a `TokenStream` for a parser or getter function function and wraps it in a trait.
Takes a ` TokenStream ` for a parser or getter function function and wraps it in a trait .
fn wrap_in_trait(
    fn_stream: &proc_macro2::TokenStream,
    tag_index: &syn::LitStr,
) -> proc_macro2::TokenStream {
    let trait_name = trait_name_from_tag_index(tag_index);
    let doc = syn::LitStr::new(&format!(r#"Supplies a method to return values held by the tag "{}"."#, tag_index.value()), Span::call_site());
    quote!(
        #[doc=#doc]
        pub trait #trait_name<'a>: HasTags<'a> {
            #fn_stream
        }
    )
}
fn wrap_in_trait ( fn_stream : & proc_macro2 :: TokenStream , tag_index : & syn :: LitStr , ) -> proc_macro2 :: TokenStream { let trait_name = trait_name_from_tag_index ( tag_index ) ; let doc = syn :: LitStr :: new ( & format ! ( r#"Supplies a method to return values held by the tag "{}"."# tag_index value ( ) ) , Span :: call_site ( ) ) ; quote ! ( [ doc doc ] pub trait trait_name ' a HasTags ' a { fn_stream } ) }
Takes a `TokenStream` for a parser or getter function function and wraps it in a trait.
Takes a ` TokenStream ` for a parser or getter function function and wraps it in a trait .
fn_stream
&proc_macro2::TokenStream
tag_index
&syn::LitStr
fn_stream
&proc_macro2::TokenStream
tag_index
&syn::LitStr