proc-macro-nested 0.1.1

Support for nested proc-macro-hack invocations
Documentation

Support for nested invocations of proc-macro-hack expression macros.

By default, macros defined through proc-macro-hack do not support nested invocations, i.e. the code emitted by a proc-macro-hack macro invocation cannot contain recursive calls to the same proc-macro-hack macro nor calls to any other proc-macro-hack macros.

This crate provides opt-in support for such nested invocations.

To make a macro callable recursively, add a dependency on this crate from your declaration crate and update the #[proc_macro_hack] re-export as follows.

// Before
# const IGNORE: &str = stringify! {
#[proc_macro_hack]
pub use demo_hack_impl::add_one;
# }
// After
# const IGNORE: &str = stringify! {
extern crate proc_macro_nested;

#[proc_macro_hack(support_nested)]
pub use demo_hack_impl::add_one;
# }

No change is required within your definition crate, only in the declaration crate.