LinkageBuilder

Struct LinkageBuilder 

Source
pub struct LinkageBuilder { /* private fields */ }

Implementations§

Source§

impl LinkageBuilder

Source

pub fn with_specifier( &mut self, specifier: impl Into<LinkageSpecifier>, ) -> &mut Self

Add a specifier to the linkage, panicking if already specified.

§Panics

If the specifier conflicts with an already existing specifier, this will panic. If this is not desired, use Self::with_specifier_replacing or Self::try_with_specifier.

Source

pub fn with_specifier_replacing( &mut self, specifier: impl Into<LinkageSpecifier>, ) -> &mut Self

Add a specifier to the linkage. If a matching specifier already exists, it will replace it.

Thin wrapper around Self::replace_specifier, which discards the old specifier.

Source

pub fn with_thread(&mut self) -> &mut Self

Marks the linkage as thread if not already marked as such.

Does nothing if that linkage has already been specified.

Source

pub fn with_export(&mut self) -> &mut Self

Marks the linkage as export if not already marked as such.

Does nothing if that linkage has already been specified.

Source

pub fn with_simple_section(&mut self, name: impl Into<AstString>) -> &mut Self

Add a LinkageSection with just a name (no flags).

§Panics

Will panic if a section has already been specified.

Source

pub fn with_section_and_flags( &mut self, name: impl Into<AstString>, flags: impl Into<AstString>, ) -> &mut Self

Add a LinkageSection with both a name and flags.

§Panics

If a section has already been specified, this will panic

Source

pub fn try_with_specifier( &mut self, specifier: impl Into<LinkageSpecifier>, ) -> Result<&mut Self, DuplicateSpecifierError>

Try to add a specifier to the linkage, returning an error if it conflicts with an existing specifier.

Source

pub fn replace_specifier( &mut self, specifier: impl Into<LinkageSpecifier>, ) -> Option<LinkageSpecifier>

Add a specifier to the linkage, overriding any conflicting specifier.

Returns the old specifier if present

Source

pub fn with_span(&mut self, span: Span) -> &mut Self

Source

pub fn build(&mut self) -> Linkage

Trait Implementations§

Source§

impl Default for LinkageBuilder

Source§

fn default() -> LinkageBuilder

Returns the “default value” for a type. Read more
Source§

impl From<Linkage> for LinkageBuilder

Source§

fn from(linkage: Linkage) -> Self

Converts to this type from the input type.

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<'src, T> IntoMaybe<'src, T> for T
where T: 'src,

Source§

type Proj<U: 'src> = U

Source§

fn map_maybe<R>( self, _f: impl FnOnce(&'src T) -> &'src R, g: impl FnOnce(T) -> R, ) -> <T as IntoMaybe<'src, T>>::Proj<R>
where R: 'src,

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.