wasmtime

Union ValRaw

Source
#[repr(C)]
pub union ValRaw {
    /* private fields */
}
Available on crate feature runtime only.
Expand description

A “raw” and unsafe representation of a WebAssembly value.

This is provided for use with the Func::new_unchecked and Func::call_unchecked APIs. In general it’s unlikely you should be using this from Rust, rather using APIs like Func::wrap and TypedFunc::call.

This is notably an “unsafe” way to work with Val and it’s recommended to instead use Val where possible. An important note about this union is that fields are all stored in little-endian format, regardless of the endianness of the host system.

Implementations§

Source§

impl ValRaw

Source

pub fn null() -> ValRaw

Create a null reference that is compatible with any of {any,extern,func}ref.

Source

pub fn i32(i: i32) -> ValRaw

Creates a WebAssembly i32 value

Source

pub fn i64(i: i64) -> ValRaw

Creates a WebAssembly i64 value

Source

pub fn u32(i: u32) -> ValRaw

Creates a WebAssembly i32 value

Source

pub fn u64(i: u64) -> ValRaw

Creates a WebAssembly i64 value

Source

pub fn f32(i: u32) -> ValRaw

Creates a WebAssembly f32 value

Source

pub fn f64(i: u64) -> ValRaw

Creates a WebAssembly f64 value

Source

pub fn v128(i: u128) -> ValRaw

Creates a WebAssembly v128 value

Source

pub fn funcref(i: *mut c_void) -> ValRaw

Creates a WebAssembly funcref value

Source

pub fn externref(e: u32) -> ValRaw

Creates a WebAssembly externref value

Source

pub fn anyref(r: u32) -> ValRaw

Creates a WebAssembly anyref value

Source

pub fn get_i32(&self) -> i32

Gets the WebAssembly i32 value

Source

pub fn get_i64(&self) -> i64

Gets the WebAssembly i64 value

Source

pub fn get_u32(&self) -> u32

Gets the WebAssembly i32 value

Source

pub fn get_u64(&self) -> u64

Gets the WebAssembly i64 value

Source

pub fn get_f32(&self) -> u32

Gets the WebAssembly f32 value

Source

pub fn get_f64(&self) -> u64

Gets the WebAssembly f64 value

Source

pub fn get_v128(&self) -> u128

Gets the WebAssembly v128 value

Source

pub fn get_funcref(&self) -> *mut c_void

Gets the WebAssembly funcref value

Source

pub fn get_externref(&self) -> u32

Gets the WebAssembly externref value

Source

pub fn get_anyref(&self) -> u32

Gets the WebAssembly anyref value

Trait Implementations§

Source§

impl Clone for ValRaw

Source§

fn clone(&self) -> ValRaw

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 ValRaw

Source§

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

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

impl Copy for ValRaw

Source§

impl Send for ValRaw

Source§

impl Sync for ValRaw

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: Clone,

Source§

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

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

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>,

Source§

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>,

Source§

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.