wiggle::wasmtime_crate

Trait AsContext

pub trait AsContext {
    type Data;

    // Required method
    fn as_context(&self) -> StoreContext<'_, Self::Data>;
}
Expand description

A trait used to get shared access to a Store in Wasmtime.

This trait is used as a bound on the first argument of many methods within Wasmtime. This trait is implemented for types like Store, Caller, and StoreContext itself. Implementors of this trait provide access to a StoreContext via some means, allowing the method in question to get access to the store’s internal information.

Note that this is only used in contexts where the store’s information is read, but not written. For example methods that return type information will use this trait as a bound. More commonly, though, mutation is required and AsContextMut is needed.

Required Associated Types§

type Data

The host information associated with the Store, aka the T in Store<T>.

Required Methods§

fn as_context(&self) -> StoreContext<'_, Self::Data>

Returns the store context that this type provides access to.

Implementations on Foreign Types§

§

impl<T> AsContext for &T
where T: AsContext,

§

type Data = <T as AsContext>::Data

§

fn as_context(&self) -> StoreContext<'_, <T as AsContext>::Data>

§

impl<T> AsContext for &mut T
where T: AsContext,

§

type Data = <T as AsContext>::Data

§

fn as_context(&self) -> StoreContext<'_, <T as AsContext>::Data>

Implementors§

§

impl<T> AsContext for Caller<'_, T>

§

type Data = T

§

impl<T> AsContext for RootScope<T>
where T: AsContextMut,

§

type Data = <T as AsContext>::Data

§

impl<T> AsContext for Store<T>

§

type Data = T

§

impl<T> AsContext for StoreContext<'_, T>

§

type Data = T

§

impl<T> AsContext for StoreContextMut<'_, T>

§

type Data = T