warning: non-local `macro_rules!` definition, `#[macro_export]` macro should be written at top level module
  --> $DIR/auxiliary/nested-macro-rules.rs:7:9
   |
LL |   macro_rules! outer_macro {
   |   ------------------------ in this expansion of `nested_macro_rules::outer_macro!`
...
LL | /         macro_rules! inner_macro {
LL | |             ($bang_macro:ident, $attr_macro:ident) => {
LL | |                 $bang_macro!($name);
LL | |                 #[$attr_macro] struct $attr_struct_name {}
LL | |             }
LL | |         }
   | |_________^
   |
  ::: $DIR/nested-macro-rules.rs:23:5
   |
LL |       nested_macro_rules::outer_macro!(SecondStruct, SecondAttrStruct);
   |       ---------------------------------------------------------------- in this macro invocation
   |
   = help: remove the `#[macro_export]` or move this `macro_rules!` outside the of the current function `main`
   = note: a `macro_rules!` definition is non-local if it is nested inside an item and has a `#[macro_export]` attribute
note: the lint level is defined here
  --> $DIR/nested-macro-rules.rs:8:9
   |
LL | #![warn(non_local_definitions)]
   |         ^^^^^^^^^^^^^^^^^^^^^

warning: 1 warning emitted

