2017-03-18 04:13:00 +00:00
|
|
|
#![feature(pub_restricted)]
|
|
|
|
|
|
|
|
mod a {}
|
|
|
|
|
2017-11-20 12:13:27 +00:00
|
|
|
pub (a) fn afn() {} //~ incorrect visibility restriction
|
|
|
|
pub (b) fn bfn() {} //~ incorrect visibility restriction
|
2017-03-18 04:13:00 +00:00
|
|
|
pub fn privfn() {}
|
|
|
|
mod x {
|
|
|
|
mod y {
|
|
|
|
pub (in x) fn foo() {}
|
|
|
|
pub (super) fn bar() {}
|
|
|
|
pub (crate) fn qux() {}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
mod y {
|
|
|
|
struct Foo {
|
|
|
|
pub (crate) c: usize,
|
|
|
|
pub (super) s: usize,
|
|
|
|
valid_private: usize,
|
|
|
|
pub (in y) valid_in_x: usize,
|
2017-11-20 12:13:27 +00:00
|
|
|
pub (a) invalid: usize, //~ incorrect visibility restriction
|
|
|
|
pub (in x) non_parent_invalid: usize, //~ ERROR visibilities can only be restricted
|
2017-03-18 04:13:00 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-03-27 11:59:10 +00:00
|
|
|
fn main() {}
|
|
|
|
|
|
|
|
// test multichar names
|
|
|
|
mod xyz {}
|
2017-11-20 12:13:27 +00:00
|
|
|
pub (xyz) fn xyz() {} //~ incorrect visibility restriction
|