generating_proc_macro_crate/
lib.rs1use proc_macro::TokenStream;
2use quote::{ quote, __private::TokenStream as QuoteTokenStream };
3
4#[proc_macro]
5pub fn example_proc_macro(_: TokenStream) -> TokenStream {
6 let token_stream: QuoteTokenStream = std::iter::once(quote!{
7 #[macro_export]
8 macro_rules! macros_by_example_generated_by_proc_macro {
9 () => {
10 proc_macro_generator_wrapper::__module::some_lower_level_macro!()
11 };
12 }
13 pub use macros_by_example_generated_by_proc_macro as generated_macros_example;
14 }).collect();
15
16 quote!{
17 #[doc(hidden)]
18 mod __internal_macros {
19 #token_stream
20 }
21
22 pub use __internal_macros::generated_macros_example;
23 }.into()
24}