Skip to main content

Remap

Struct Remap 

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

Describes where a requested interface is found in a plugin’s exports.

Plugin::remap_interfaces stores these values in a map whose key is the requested interface name from the Binding. The Remap value then describes the interface name and item names actually exported by that plugin.

§Examples

use std::collections::HashMap;
use wasm_link::Remap;

let interface_only = Remap::found_as( "legacy-root" );
let one_item = Remap::resolves_item( "get-value", "legacy-get-value" );
let many_items = Remap::item_resolution_table( HashMap::from([
	( "get-value".to_string(), "legacy-get-value".to_string() ),
]));
let interface_and_items = Remap::found_as_with_item_resolution_table(
	"legacy-root",
	HashMap::from([( "get-value".to_string(), "legacy-get-value".to_string() )]),
);

Implementations§

Source§

impl Remap

Source

pub fn found_as(interface: impl Into<String>) -> Self

Creates a remap where the requested interface is found under another exported name.

Source

pub fn resolves_item( requested_item: impl Into<String>, exported_item: impl Into<String>, ) -> Self

Creates a remap where one requested item resolves to another exported item name.

The first argument is the requested item name. The second argument is the item name exported by the plugin.

Source

pub fn item_resolution_table(item_resolution_table: ItemResolutionTable) -> Self

Creates a remap from an item resolution table.

The table direction is requested item name -> exported item name.

Source

pub fn found_as_with_item_resolution_table( interface: impl Into<String>, item_resolution_table: ItemResolutionTable, ) -> Self

Creates a remap for both the interface name and its item names.

The item table direction is requested item name -> exported item name.

Trait Implementations§

Source§

impl Clone for Remap

Source§

fn clone(&self) -> Remap

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Remap

Source§

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

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

impl Default for Remap

Source§

fn default() -> Remap

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

impl Eq for Remap

Source§

impl PartialEq for Remap

Source§

fn eq(&self, other: &Remap) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for Remap

Auto Trait Implementations§

§

impl Freeze for Remap

§

impl RefUnwindSafe for Remap

§

impl Send for Remap

§

impl Sync for Remap

§

impl Unpin for Remap

§

impl UnsafeUnpin for Remap

§

impl UnwindSafe for Remap

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. 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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.