//@ aux-build:static_priv_by_default.rs

extern crate static_priv_by_default;

fn foo<T>() {}

fn main() {
    // Actual public items should be public
    static_priv_by_default::a;
    static_priv_by_default::b;
    static_priv_by_default::c;
    foo::<static_priv_by_default::d>();
    foo::<static_priv_by_default::e>();

    // publicly re-exported items should be available
    static_priv_by_default::bar::e;
    static_priv_by_default::bar::f;
    static_priv_by_default::bar::g;
    foo::<static_priv_by_default::bar::h>();
    foo::<static_priv_by_default::bar::i>();

    // private items at the top should be inaccessible
    static_priv_by_default::j;
    //~^ ERROR: static `j` is private
    static_priv_by_default::k;
    //~^ ERROR: function `k` is private
    static_priv_by_default::l;
    //~^ ERROR: struct `l` is private
    foo::<static_priv_by_default::m>();
    //~^ ERROR: enum `m` is private
    foo::<static_priv_by_default::n>();
    //~^ ERROR: type alias `n` is private

    // public items in a private mod should be inaccessible
    static_priv_by_default::foo::a;
    //~^ ERROR: module `foo` is private
    static_priv_by_default::foo::b;
    //~^ ERROR: module `foo` is private
    static_priv_by_default::foo::c;
    //~^ ERROR: module `foo` is private
    foo::<static_priv_by_default::foo::d>();
    //~^ ERROR: module `foo` is private
    foo::<static_priv_by_default::foo::e>();
    //~^ ERROR: module `foo` is private
}
