use proc_macro::TokenStream;
use quote::{ quote, __private::TokenStream as QuoteTokenStream };
#[proc_macro]
pub fn example_proc_macro(_: TokenStream) -> TokenStream {
let token_stream: QuoteTokenStream = std::iter::once(quote!{
#[macro_export]
macro_rules! macros_by_example_generated_by_proc_macro {
() => {
proc_macro_generator_wrapper::__module::some_lower_level_macro!()
};
}
pub use macros_by_example_generated_by_proc_macro as generated_macros_example;
}).collect();
quote!{
#[doc(hidden)]
mod __internal_macros {
#token_stream
}
pub use __internal_macros::generated_macros_example;
}.into()
}