// run-pass | |
#![allow(unused_variables)] | |
mod a { | |
pub mod b { | |
pub mod c { | |
pub struct S; | |
pub struct Z; | |
} | |
pub struct W; | |
} | |
} | |
macro_rules! import { | |
(1 $p: path) => (use $p;); | |
(2 $p: path) => (use $p::{Z};); | |
(3 $p: path) => (use $p::*;); | |
} | |
import! { 1 a::b::c::S } | |
import! { 2 a::b::c } | |
import! { 3 a::b } | |
fn main() { | |
let s = S; | |
let z = Z; | |
let w = W; | |
} |