rust/tests/ui/proc-macro/nested-macro-rules.rs

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);
}