#![feature(decl_macro)]

mod foo {
    pub trait T {
        fn f(&self) {}
    }
    impl T for () {}
}

mod bar {
    use foo::*;
    pub macro m() { ().f() }
    fn f() { ::baz::m!(); }
}

mod baz {
    pub macro m() { ().f() } //~ ERROR no method named `f` found
    fn f() { ::bar::m!(); }
}

fn main() {}
