Rust visibility hierarchy
From most restrictive to least restrictive is:
- private (no modifier)
pub(self)- only in current modulepub(super)- only in parent modulepub(crate)- only in current cratepub- public everywhere
From most restrictive to least restrictive is:
pub(self) - only in current modulepub(super) - only in parent modulepub(crate) - only in current cratepub - public everywhere