Skip to main content

Linkage

Enum Linkage 

Source
#[non_exhaustive]
#[repr(u8)]
pub enum Linkage {
Show 20 variants External = 0, WeakAnyOld = 1, Appending = 2, Internal = 3, LinkOnceAnyOld = 4, DllImport = 5, DllExport = 6, ExternWeak = 7, Common = 8, Private = 9, WeakOdrOld = 10, LinkOnceOdrOld = 11, AvailableExternally = 12, LinkerPrivate = 13, LinkerPrivateWeak = 14, LinkOnceOdrAutoHide = 15, WeakAny = 16, WeakOdr = 17, LinkOnceAny = 18, LinkOnceOdr = 19,
}
Expand description

These are bitcode-specific values, different from C++ enum

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

External = 0

Externally visible function

§

WeakAnyOld = 1

👎Deprecated

Keep one copy of named function when linking (weak) Old value with implicit comdat.

§

Appending = 2

Special purpose, only applies to global arrays

§

Internal = 3

Rename collisions when linking (static functions).

§

LinkOnceAnyOld = 4

👎Deprecated

Keep one copy of function when linking (inline) Old value with implicit comdat.

§

DllImport = 5

👎Deprecated

Externally visible function Obsolete DLLImportLinkage

§

DllExport = 6

👎Deprecated

Externally visible function Obsolete DLLExportLinkage

§

ExternWeak = 7

ExternalWeak linkage

§

Common = 8

Tentative definitions.

§

Private = 9

Like Internal, but omit from symbol table.

§

WeakOdrOld = 10

👎Deprecated

Same, but only replaced by something equivalent. Old value with implicit comdat.

§

LinkOnceOdrOld = 11

👎Deprecated

Same, but only replaced by something equivalent. Old value with implicit comdat.

§

AvailableExternally = 12

Available for inspection, not emission.

§

LinkerPrivate = 13

👎Deprecated

Like Internal, but omit from symbol table. Obsolete LinkerPrivateLinkage

§

LinkerPrivateWeak = 14

👎Deprecated

Like Internal, but omit from symbol table. Obsolete LinkerPrivateWeakLinkage

§

LinkOnceOdrAutoHide = 15

👎Deprecated

Externally visible function Obsolete LinkOnceODRAutoHideLinkage

§

WeakAny = 16

Keep one copy of named function when linking (weak)

§

WeakOdr = 17

Same, but only replaced by something equivalent.

§

LinkOnceAny = 18

Keep one copy of function when linking (inline)

§

LinkOnceOdr = 19

Same, but only replaced by something equivalent.

Trait Implementations§

Source§

impl Debug for Linkage

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl TryFrom<u8> for Linkage

Source§

type Error = TryFromPrimitiveError<Linkage>

The type returned in the event of a conversion error.
Source§

fn try_from(number: u8) -> Result<Self, TryFromPrimitiveError<Self>>

Performs the conversion.
Source§

impl TryFromPrimitive for Linkage

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.