pub enum Visibility {
Default,
Hidden,
Protected,
}Expand description
What the dynamic linker is allowed to do with a symbol.
Orthogonal to Linkage, which is about the static linker. A hidden symbol is still
external as far as the object file is concerned; it just does not go in the dynamic symbol
table, so nothing outside the shared object can interpose it.
Variants§
Default
Exported and interposable, which is what a symbol in a shared library gets unless something says otherwise.
Hidden
Not in the dynamic symbol table at all. __attribute__((visibility("hidden"))) and
-fvisibility=hidden.
Protected
In the dynamic symbol table, but a reference from inside this shared object always binds to the definition inside it.
Implementations§
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
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
1.21.0 (const: unstable) · Source§fn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the minimum of two values. Read more
Source§impl PartialEq for Visibility
impl PartialEq for Visibility
Source§impl PartialOrd for Visibility
impl PartialOrd for Visibility
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