effective visibility: Add test for a reexport of two names
in different namespaces, one public and another private.
This commit is contained in:
parent
3e50038a2d
commit
5be901abb7
@ -55,8 +55,21 @@ pub struct ReachableStruct { //~ ERROR Public: pub(self), Exported: pub(self), R
|
||||
}
|
||||
}
|
||||
|
||||
pub use outer::inner1;
|
||||
#[rustc_effective_visibility]
|
||||
pub use outer::inner1; //~ ERROR Public: pub, Exported: pub, Reachable: pub, ReachableFromImplTrait: pub
|
||||
|
||||
pub fn foo() -> outer::ReachableStruct { outer::ReachableStruct {a: 0} }
|
||||
|
||||
mod half_public_import {
|
||||
#[rustc_effective_visibility]
|
||||
pub type HalfPublicImport = u8; //~ ERROR Public: pub(self), Exported: pub, Reachable: pub, ReachableFromImplTrait: pub
|
||||
#[rustc_effective_visibility]
|
||||
#[allow(non_upper_case_globals)]
|
||||
pub(crate) const HalfPublicImport: u8 = 0; //~ ERROR Public: pub(self), Exported: pub(self), Reachable: pub(self), ReachableFromImplTrait: pub(self)
|
||||
}
|
||||
|
||||
#[rustc_effective_visibility]
|
||||
pub use half_public_import::HalfPublicImport; //~ ERROR Public: pub, Exported: pub, Reachable: pub, ReachableFromImplTrait: pub
|
||||
//~^ ERROR Public: pub, Exported: pub, Reachable: pub, ReachableFromImplTrait: pub
|
||||
|
||||
fn main() {}
|
||||
|
@ -88,6 +88,36 @@ error: Public: pub(self), Exported: pub(self), Reachable: pub, ReachableFromImpl
|
||||
LL | pub a: u8,
|
||||
| ^^^^^^^^^
|
||||
|
||||
error: Public: pub, Exported: pub, Reachable: pub, ReachableFromImplTrait: pub
|
||||
--> $DIR/access_levels.rs:59:9
|
||||
|
|
||||
LL | pub use outer::inner1;
|
||||
| ^^^^^^^^^^^^^
|
||||
|
||||
error: Public: pub(self), Exported: pub, Reachable: pub, ReachableFromImplTrait: pub
|
||||
--> $DIR/access_levels.rs:65:5
|
||||
|
|
||||
LL | pub type HalfPublicImport = u8;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: Public: pub(self), Exported: pub(self), Reachable: pub(self), ReachableFromImplTrait: pub(self)
|
||||
--> $DIR/access_levels.rs:68:5
|
||||
|
|
||||
LL | pub(crate) const HalfPublicImport: u8 = 0;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: Public: pub, Exported: pub, Reachable: pub, ReachableFromImplTrait: pub
|
||||
--> $DIR/access_levels.rs:72:9
|
||||
|
|
||||
LL | pub use half_public_import::HalfPublicImport;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: Public: pub, Exported: pub, Reachable: pub, ReachableFromImplTrait: pub
|
||||
--> $DIR/access_levels.rs:72:9
|
||||
|
|
||||
LL | pub use half_public_import::HalfPublicImport;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: Public: pub(self), Exported: pub, Reachable: pub, ReachableFromImplTrait: pub
|
||||
--> $DIR/access_levels.rs:14:13
|
||||
|
|
||||
@ -100,5 +130,5 @@ error: Public: pub(self), Exported: pub, Reachable: pub, ReachableFromImplTrait:
|
||||
LL | type B;
|
||||
| ^^^^^^
|
||||
|
||||
error: aborting due to 17 previous errors
|
||||
error: aborting due to 22 previous errors
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user