2024-02-16 14:02:50 -06:00
|
|
|
//@ check-pass
|
|
|
|
//@ edition:2018
|
2023-03-19 07:12:57 -05:00
|
|
|
// issue: https://github.com/rust-lang/rust/issues/97534
|
|
|
|
|
|
|
|
macro_rules! m {
|
|
|
|
() => {
|
|
|
|
macro_rules! foo {
|
|
|
|
() => {}
|
|
|
|
}
|
|
|
|
use foo as bar;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
m!{}
|
|
|
|
|
|
|
|
use bar as baz;
|
|
|
|
|
|
|
|
baz!{}
|
|
|
|
|
|
|
|
macro_rules! foo2 {
|
|
|
|
() => {};
|
|
|
|
}
|
|
|
|
|
|
|
|
macro_rules! m2 {
|
|
|
|
() => {
|
|
|
|
use foo2 as bar2;
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
m2! {}
|
|
|
|
|
|
|
|
use bar2 as baz2;
|
|
|
|
|
|
|
|
baz2! {}
|
|
|
|
|
|
|
|
macro_rules! n1 {
|
|
|
|
() => {
|
|
|
|
macro_rules! n2 {
|
|
|
|
() => {
|
|
|
|
macro_rules! n3 {
|
|
|
|
() => {
|
|
|
|
macro_rules! n4 {
|
|
|
|
() => {}
|
|
|
|
}
|
|
|
|
use n4 as c4;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
use n3 as c3;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
use n2 as c2;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
use n1 as c1;
|
|
|
|
c1!{}
|
|
|
|
use c2 as a2;
|
|
|
|
a2!{}
|
|
|
|
use c3 as a3;
|
|
|
|
a3!{}
|
|
|
|
use c4 as a4;
|
|
|
|
a4!{}
|
|
|
|
|
|
|
|
// https://github.com/rust-lang/rust/pull/108729#issuecomment-1474750675
|
|
|
|
// reversed
|
|
|
|
use d5 as d6;
|
|
|
|
use d4 as d5;
|
|
|
|
use d3 as d4;
|
|
|
|
use d2 as d3;
|
|
|
|
use d1 as d2;
|
|
|
|
use foo2 as d1;
|
|
|
|
d6! {}
|
|
|
|
|
|
|
|
// mess
|
|
|
|
use f3 as f4;
|
|
|
|
f5! {}
|
|
|
|
use f1 as f2;
|
|
|
|
use f4 as f5;
|
|
|
|
use f2 as f3;
|
|
|
|
use foo2 as f1;
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
}
|