//@ aux-build:static_priv_by_default.rs extern crate static_priv_by_default; fn foo() {} fn main() { // Actual public items should be public static_priv_by_default::a; static_priv_by_default::b; static_priv_by_default::c; foo::(); foo::(); // 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::(); foo::(); // 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::(); //~^ ERROR: enum `m` is private foo::(); //~^ 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::(); //~^ ERROR: module `foo` is private foo::(); //~^ ERROR: module `foo` is private }