pub enum Val {
I32(i32),
I64(i64),
F32(u32),
F64(u64),
ExternRef(Option<ExternRef>),
FuncRef(Option<Func>),
V128(u128),
}
Expand description
Possible runtime values that a WebAssembly module can either consume or produce.
Variants
I32(i32)
A 32-bit integer
I64(i64)
A 64-bit integer
F32(u32)
A 32-bit float.
Note that the raw bits of the float are stored here, and you can use
f32::from_bits
to create an f32
value.
F64(u64)
A 64-bit float.
Note that the raw bits of the float are stored here, and you can use
f64::from_bits
to create an f64
value.
ExternRef(Option<ExternRef>)
An externref
value which can hold opaque data to the Wasm instance
itself.
ExternRef(None)
is the null external reference, created by ref.null extern
in Wasm.
FuncRef(Option<Func>)
A first-class reference to a WebAssembly function.
FuncRef(None)
is the null function reference, created by ref.null func
in Wasm.
V128(u128)
A 128-bit number
Implementations
sourceimpl Val
impl Val
sourcepub fn i32(&self) -> Option<i32>
pub fn i32(&self) -> Option<i32>
Attempt to access the underlying value of this Val
, returning
None
if it is not the correct type.
sourcepub fn unwrap_i32(&self) -> i32
pub fn unwrap_i32(&self) -> i32
Returns the underlying value of this Val
, panicking if it’s the
wrong type.
Panics
Panics if self
is not of the right type.
sourcepub fn i64(&self) -> Option<i64>
pub fn i64(&self) -> Option<i64>
Attempt to access the underlying value of this Val
, returning
None
if it is not the correct type.
sourcepub fn unwrap_i64(&self) -> i64
pub fn unwrap_i64(&self) -> i64
Returns the underlying value of this Val
, panicking if it’s the
wrong type.
Panics
Panics if self
is not of the right type.
sourcepub fn f32(&self) -> Option<f32>
pub fn f32(&self) -> Option<f32>
Attempt to access the underlying value of this Val
, returning
None
if it is not the correct type.
sourcepub fn unwrap_f32(&self) -> f32
pub fn unwrap_f32(&self) -> f32
Returns the underlying value of this Val
, panicking if it’s the
wrong type.
Panics
Panics if self
is not of the right type.
sourcepub fn f64(&self) -> Option<f64>
pub fn f64(&self) -> Option<f64>
Attempt to access the underlying value of this Val
, returning
None
if it is not the correct type.
sourcepub fn unwrap_f64(&self) -> f64
pub fn unwrap_f64(&self) -> f64
Returns the underlying value of this Val
, panicking if it’s the
wrong type.
Panics
Panics if self
is not of the right type.
sourcepub fn funcref(&self) -> Option<Option<&Func>>
pub fn funcref(&self) -> Option<Option<&Func>>
Attempt to access the underlying value of this Val
, returning
None
if it is not the correct type.
sourcepub fn unwrap_funcref(&self) -> Option<&Func>
pub fn unwrap_funcref(&self) -> Option<&Func>
Returns the underlying value of this Val
, panicking if it’s the
wrong type.
Panics
Panics if self
is not of the right type.
sourcepub fn v128(&self) -> Option<u128>
pub fn v128(&self) -> Option<u128>
Attempt to access the underlying value of this Val
, returning
None
if it is not the correct type.
sourcepub fn unwrap_v128(&self) -> u128
pub fn unwrap_v128(&self) -> u128
Returns the underlying value of this Val
, panicking if it’s the
wrong type.
Panics
Panics if self
is not of the right type.
sourcepub fn externref(&self) -> Option<Option<ExternRef>>
pub fn externref(&self) -> Option<Option<ExternRef>>
Attempt to access the underlying externref
value of this Val
.
If this is not an externref
, then None
is returned.
If this is a null externref
, then Some(None)
is returned.
If this is a non-null externref
, then Some(Some(..))
is returned.
sourcepub fn unwrap_externref(&self) -> Option<ExternRef>
pub fn unwrap_externref(&self) -> Option<ExternRef>
Returns the underlying externref
value of this Val
, panicking if it’s the
wrong type.
If this is a null externref
, then None
is returned.
If this is a non-null externref
, then Some(..)
is returned.
Panics
Panics if self
is not a (nullable) externref
.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Val
impl !Send for Val
impl !Sync for Val
impl Unpin for Val
impl !UnwindSafe for Val
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Pointable for T
impl<T> Pointable for T
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more