| 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 |
| |