1
0
mirror of https://github.com/google/comprehensive-rust.git synced 2025-04-15 21:28:43 +02:00

34 lines
577 B
Markdown
Raw Normal View History

2022-12-21 16:36:30 +01:00
# Visibility
2023-01-04 15:58:34 +01:00
Modules are a privacy boundary:
2022-12-21 16:36:30 +01:00
* Module items are private by default (hides implementation details).
* Parent and sibling items are always visible.
```rust,editable
mod outer {
fn private() {
println!("outer::private");
}
pub fn public() {
println!("outer::public");
}
mod inner {
fn private() {
println!("outer::inner::private");
}
pub fn public() {
println!("outer::inner::public");
super::private();
}
}
}
fn main() {
outer::public();
}
```