[][src]Enum wasmtime::Val

pub enum Val {
    I32(i32),
    I64(i64),
    F32(u32),
    F64(u64),
    AnyRef(AnyRef),
    FuncRef(Func),
    V128(u128),
}

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.

AnyRef(AnyRef)

An anyref value which can hold opaque data to the wasm instance itself.

Note that this is a nullable value as well.

FuncRef(Func)

A first-class reference to a WebAssembly function.

V128(u128)

A 128-bit number

Methods

impl Val[src]

pub fn null() -> Val[src]

Returns a null anyref value.

pub fn ty(&self) -> ValType[src]

Returns the corresponding ValType for this Val.

pub fn i32(&self) -> Option<i32>[src]

Attempt to access the underlying value of this Val, returning None if it is not the correct type.

pub fn unwrap_i32(&self) -> i32[src]

Returns the underlying value of this Val, panicking if it's the wrong type.

Panics

Panics if self is not of the right type.

pub fn i64(&self) -> Option<i64>[src]

Attempt to access the underlying value of this Val, returning None if it is not the correct type.

pub fn unwrap_i64(&self) -> i64[src]

Returns the underlying value of this Val, panicking if it's the wrong type.

Panics

Panics if self is not of the right type.

pub fn f32(&self) -> Option<f32>[src]

Attempt to access the underlying value of this Val, returning None if it is not the correct type.

pub fn unwrap_f32(&self) -> f32[src]

Returns the underlying value of this Val, panicking if it's the wrong type.

Panics

Panics if self is not of the right type.

pub fn f64(&self) -> Option<f64>[src]

Attempt to access the underlying value of this Val, returning None if it is not the correct type.

pub fn unwrap_f64(&self) -> f64[src]

Returns the underlying value of this Val, panicking if it's the wrong type.

Panics

Panics if self is not of the right type.

pub fn funcref(&self) -> Option<&Func>[src]

Attempt to access the underlying value of this Val, returning None if it is not the correct type.

pub fn unwrap_funcref(&self) -> &Func[src]

Returns the underlying value of this Val, panicking if it's the wrong type.

Panics

Panics if self is not of the right type.

pub fn v128(&self) -> Option<u128>[src]

Attempt to access the underlying value of this Val, returning None if it is not the correct type.

pub fn unwrap_v128(&self) -> u128[src]

Returns the underlying value of this Val, panicking if it's the wrong type.

Panics

Panics if self is not of the right type.

pub fn anyref(&self) -> Option<AnyRef>[src]

Attempt to access the underlying value of this Val, returning None if it is not the correct type.

This will return Some for both the AnyRef and FuncRef types.

pub fn unwrap_anyref(&self) -> AnyRef[src]

Returns the underlying value of this Val, panicking if it's the wrong type.

Panics

Panics if self is not of the right type.

Trait Implementations

impl Clone for Val[src]

impl Debug for Val[src]

impl From<AnyRef> for Val[src]

impl From<Func> for Val[src]

impl From<f32> for Val[src]

impl From<f64> for Val[src]

impl From<i32> for Val[src]

impl From<i64> for Val[src]

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

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.