diff options
Diffstat (limited to 'src/test/ui/privacy/privacy-in-paths.rs')
-rw-r--r-- | src/test/ui/privacy/privacy-in-paths.rs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/test/ui/privacy/privacy-in-paths.rs b/src/test/ui/privacy/privacy-in-paths.rs new file mode 100644 index 000000000..9cee2b89d --- /dev/null +++ b/src/test/ui/privacy/privacy-in-paths.rs @@ -0,0 +1,30 @@ +mod foo { + pub use self::bar::S; + mod bar { + pub struct S; + pub use baz; + } + + trait T { + type Assoc; + } + impl T for () { + type Assoc = S; + } +} + +impl foo::S { + fn f() {} +} + +pub mod baz { + fn f() {} + + fn g() { + ::foo::bar::baz::f(); //~ERROR module `bar` is private + ::foo::bar::S::f(); //~ERROR module `bar` is private + <() as ::foo::T>::Assoc::f(); //~ERROR trait `T` is private + } +} + +fn main() {} |