//@ check-pass | |
#![feature(decl_macro)] | |
mod type_ns { | |
pub type A = u8; | |
} | |
mod value_ns { | |
pub const A: u8 = 0; | |
} | |
mod macro_ns { | |
pub macro A() {} | |
} | |
mod merge2 { | |
pub use type_ns::A; | |
pub use value_ns::A; | |
} | |
mod merge3 { | |
pub use type_ns::A; | |
pub use value_ns::A; | |
pub use macro_ns::A; | |
} | |
mod use2 { | |
pub use merge2::A; | |
} | |
mod use3 { | |
pub use merge3::A; | |
} | |
fn main() { | |
type B2 = use2::A; | |
let a2 = use2::A; | |
type B3 = use3::A; | |
let a3 = use3::A; | |
use3::A!(); | |
} |