wit_component

Struct Linker

Source
pub struct Linker { /* private fields */ }
Expand description

Builder type for composing dynamic library modules into a component

Implementations§

Source§

impl Linker

Source

pub fn library( self, name: &str, module: &[u8], dl_openable: bool, ) -> Result<Self>

Add a dynamic library module to this linker.

If dl_openable is true, all of the libraries exports will be added to the dlopen/dlsym lookup table for runtime resolution.

Source

pub fn adapter(self, name: &str, module: &[u8]) -> Result<Self>

Add an adapter to this linker.

See crate::encoding::ComponentEncoder::adapter for details.

Source

pub fn validate(self, validate: bool) -> Self

Specify whether to validate the resulting component prior to returning it

Source

pub fn stack_size(self, stack_size: u32) -> Self

Specify size of stack to allocate in the synthesized main module

Source

pub fn stub_missing_functions(self, stub_missing_functions: bool) -> Self

Specify whether to generate trapping stubs for any unresolved imports

Source

pub fn use_built_in_libdl(self, use_built_in_libdl: bool) -> Self

Specify whether to use a built-in implementation of dlopen/dlsym.

Source

pub fn merge_imports_based_on_semver(self, merge: bool) -> Self

This affects how when to WIT worlds are merged together, for example from two different libraries, whether their imports are unified when the semver version ranges for interface allow it.

This is enabled by default.

Source

pub fn encode(self) -> Result<Vec<u8>>

Encode the component and return the bytes

Trait Implementations§

Source§

impl Default for Linker

Source§

fn default() -> Linker

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

Auto Trait Implementations§

§

impl Freeze for Linker

§

impl RefUnwindSafe for Linker

§

impl Send for Linker

§

impl Sync for Linker

§

impl Unpin for Linker

§

impl UnwindSafe for Linker

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.