#[repr(C)]pub struct wasmtime_val_t {
pub kind: wasmtime_valkind_t,
pub of: wasmtime_val_union,
}Fields§
§kind: wasmtime_valkind_t§of: wasmtime_val_unionImplementations§
Source§impl wasmtime_val_t
impl wasmtime_val_t
Sourcepub fn from_val(
cx: &mut RootScope<impl AsContextMut>,
val: Val,
) -> wasmtime_val_t
pub fn from_val( cx: &mut RootScope<impl AsContextMut>, val: Val, ) -> wasmtime_val_t
Creates a new wasmtime_val_t from a wasmtime::Val.
Note that this requires a RootScope to be present to serve as proof
that val is not require to be rooted in the store itself which would
prevent GC. Callers should prefer this API where possible, creating a
temporary RootScope when needed.
Sourcepub fn from_val_unscoped(cx: impl AsContextMut, val: Val) -> wasmtime_val_t
pub fn from_val_unscoped(cx: impl AsContextMut, val: Val) -> wasmtime_val_t
Equivalent of wasmtime_val_t::from_val except that a RootScope
is not required.
This method should only be used when a RootScope is known to be
elsewhere on the stack. For example this is used when we call back out
to the embedder. In such a situation we know we previously entered with
some other call so the root scope is on the stack there.
Sourcepub unsafe fn to_val(&self, cx: &mut RootScope<impl AsContextMut>) -> Val
pub unsafe fn to_val(&self, cx: &mut RootScope<impl AsContextMut>) -> Val
Convert this wasmtime_val_t into a wasmtime::Val.
See wasmtime_val_t::from_val for notes on the RootScope
requirement here. Note that this is particularly meaningful for this
API as the Val returned may contain a Rooted<T> which requires a
RootScope if we don’t want the value to live for the entire lifetime
of the Store.
Sourcepub unsafe fn to_val_unscoped(&self, cx: impl AsContextMut) -> Val
pub unsafe fn to_val_unscoped(&self, cx: impl AsContextMut) -> Val
Equivalent of to_val except doesn’t require a RootScope.
See notes on wasmtime_val_t::from_val_unscoped for notes on when to
use this.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for wasmtime_val_t
impl RefUnwindSafe for wasmtime_val_t
impl Send for wasmtime_val_t
impl Sync for wasmtime_val_t
impl Unpin for wasmtime_val_t
impl UnwindSafe for wasmtime_val_t
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
self file descriptor.§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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