| mod foo { | |
| pub use self::bar::S; | |
| mod bar { | |
| pub struct S; | |
| pub use crate::baz; | |
| } | |
| trait T { | |
| type Assoc; | |
| } | |
| impl T for () { | |
| type Assoc = S; | |
| } | |
| } | |
| impl foo::S { | |
| fn f() {} | |
| } | |
| pub mod baz { | |
| fn f() {} | |
| fn g() { | |
| crate::foo::bar::baz::f(); //~ERROR module `bar` is private | |
| crate::foo::bar::S::f(); //~ERROR module `bar` is private | |
| <() as crate::foo::T>::Assoc::f(); //~ERROR trait `T` is private | |
| } | |
| } | |
| fn main() {} |