32 lines
1.4 KiB
Plaintext
32 lines
1.4 KiB
Plaintext
warning: non-local `macro_rules!` definition, they should be avoided as they go against expectation
|
|
--> $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: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module
|
|
= note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
|
|
note: the lint level is defined here
|
|
--> $DIR/nested-macro-rules.rs:8:9
|
|
|
|
|
LL | #![warn(non_local_definitions)]
|
|
| ^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: 1 warning emitted
|
|
|