pub enum Visibility {
Private,
Module,
Public,
}Expand description
How far a type, function or field can be seen from.
Ordered from narrowest to widest, so a wider visibility satisfies a
narrower requirement. See Visibility::is_visible.
Variants§
Private
Visible only inside the type that declares it.
Module
Visible inside the declaring module.
Public
Visible everywhere. The default.
Implementations§
Source§impl Visibility
impl Visibility
Sourcepub fn is_visible(self, scope: Visibility) -> bool
pub fn is_visible(self, scope: Visibility) -> bool
Returns true when this visibility is at least as wide as scope.
assert!(Visibility::Public.is_visible(Visibility::Module));
assert!(!Visibility::Private.is_visible(Visibility::Module));Sourcepub fn is_public(&self) -> bool
pub fn is_public(&self) -> bool
Returns true for Visibility::Public.
Sourcepub fn is_module(&self) -> bool
pub fn is_module(&self) -> bool
Returns true for Visibility::Module.
Sourcepub fn is_private(&self) -> bool
pub fn is_private(&self) -> bool
Returns true for Visibility::Private.
Trait Implementations§
Source§impl Clone for Visibility
impl Clone for Visibility
Source§fn clone(&self) -> Visibility
fn clone(&self) -> Visibility
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for Visibility
Source§impl Debug for Visibility
impl Debug for Visibility
Source§impl Default for Visibility
impl Default for Visibility
Source§fn default() -> Visibility
fn default() -> Visibility
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for Visibility
impl<'de> Deserialize<'de> for Visibility
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Visibility, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Visibility, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for Visibility
Source§impl Hash for Visibility
impl Hash for Visibility
Source§impl Ord for Visibility
impl Ord for Visibility
Source§fn cmp(&self, other: &Visibility) -> Ordering
fn cmp(&self, other: &Visibility) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for Visibility
impl PartialEq for Visibility
Source§impl PartialOrd for Visibility
impl PartialOrd for Visibility
Source§impl Serialize for Visibility
impl Serialize for Visibility
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for Visibility
Auto Trait Implementations§
impl Freeze for Visibility
impl RefUnwindSafe for Visibility
impl Send for Visibility
impl Sync for Visibility
impl Unpin for Visibility
impl UnsafeUnpin for Visibility
impl UnwindSafe for Visibility
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Initialize for Twhere
T: Default,
impl<T> Initialize for Twhere
T: Default,
Source§fn initialize() -> T
fn initialize() -> T
Returns the initial value of this type.