// ensures that 'use foo:*' doesn't import non-public item

use m1::*;

mod foo {
    pub fn foo() {}
}
mod a {
    pub mod b {
        use foo::foo;
        type Bar = isize;
    }
    pub mod sub {
        use a::b::*;
        fn sub() -> Bar { 1 }
        //~^ ERROR cannot find type `Bar` in this scope
    }
}

mod m1 {
    fn foo() {}
}

fn main() {
    foo(); //~ ERROR expected function, found module `foo`
}
