Enum wasmparser::ValType

source ·
pub enum ValType {
    I32,
    I64,
    F32,
    F64,
    V128,
    Ref(RefType),
}
Expand description

Represents the types of values in a WebAssembly module.

Variants§

§

I32

The value type is i32.

§

I64

The value type is i64.

§

F32

The value type is f32.

§

F64

The value type is f64.

§

V128

The value type is v128.

§

Ref(RefType)

The value type is a reference. Which type of reference is decided by RefType. This is a change in syntax from the function references proposal, which now provides FuncRef and ExternRef as sugar for the generic ref construct.

Implementations§

source§

impl ValType

source

pub const FUNCREF: ValType = _

Alias for the wasm funcref type.

source

pub const EXTERNREF: ValType = _

Alias for the wasm externref type.

source

pub fn is_reference_type(&self) -> bool

Returns whether this value type is a “reference type”.

Only reference types are allowed in tables, for example, and with some instructions. Current reference types include funcref and externref.

source

pub fn is_defaultable(&self) -> bool

Whether the type is defaultable according to function references spec. This amounts to whether it’s a non-nullable ref

Trait Implementations§

source§

impl Clone for ValType

source§

fn clone(&self) -> ValType

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ValType

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<RefType> for ValType

source§

fn from(ty: RefType) -> ValType

Converts to this type from the input type.
source§

impl<'a> FromReader<'a> for ValType

source§

fn from_reader(reader: &mut BinaryReader<'a>) -> Result<Self>

Attempts to read Self from the provided binary reader, returning an error if it is unable to do so.
source§

impl Hash for ValType

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for ValType

source§

fn eq(&self, other: &ValType) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for ValType

source§

impl Eq for ValType

source§

impl StructuralPartialEq for ValType

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Copy,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

default unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.