wasmtime

Trait AsContext

Source
pub trait AsContext {
    type Data;

    // Required method
    fn as_context(&self) -> StoreContext<'_, Self::Data>;
}
Available on crate feature runtime only.
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§

Source

type Data

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

Required Methods§

Source

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

Returns the store context that this type provides access to.

Implementations on Foreign Types§

Source§

impl<T: AsContext> AsContext for &T

Source§

type Data = <T as AsContext>::Data

Source§

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

Source§

impl<T: AsContext> AsContext for &mut T

Source§

type Data = <T as AsContext>::Data

Source§

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

Implementors§

Source§

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

Source§

type Data = T

Source§

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

Available on crate feature gc only.
Source§

type Data = <T as AsContext>::Data

Source§

impl<T> AsContext for Store<T>

Source§

type Data = T

Source§

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

Source§

type Data = T

Source§

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

Source§

type Data = T