27 lines
668 B
Rust
27 lines
668 B
Rust
//@ run-pass
|
|
//@ aux-build:nested-macro-rules.rs
|
|
//@ aux-build:test-macros.rs
|
|
//@ compile-flags: -Z span-debug -Z macro-backtrace
|
|
//@ edition:2018
|
|
|
|
#![no_std] // Don't load unnecessary hygiene information from std
|
|
#![warn(non_local_definitions)]
|
|
|
|
extern crate std;
|
|
|
|
extern crate nested_macro_rules;
|
|
extern crate test_macros;
|
|
|
|
use test_macros::{print_bang, print_attr};
|
|
|
|
use nested_macro_rules::FirstStruct;
|
|
struct SecondStruct;
|
|
|
|
fn main() {
|
|
nested_macro_rules::inner_macro!(print_bang, print_attr);
|
|
|
|
nested_macro_rules::outer_macro!(SecondStruct, SecondAttrStruct);
|
|
//~^ WARN non-local `macro_rules!` definition
|
|
inner_macro!(print_bang, print_attr);
|
|
}
|