Struct Global

Source
pub struct Global { /* private fields */ }
Expand description

A Global instance

Implementations§

Source§

impl Global

Source

pub fn new(global_type: GlobalType) -> Self

Create a new, zero bit-pattern initialized global from a GlobalType.

Source

pub fn ty(&self) -> &GlobalType

Get the type of the global.

Source

pub fn vmglobal(&self) -> NonNull<VMGlobalDefinition>

Get a pointer to the underlying definition used by the generated code.

Source

pub fn get<T: WasmValueType>(&self, store: &dyn Any) -> Value<T>

Get a value from the global.

Source

pub unsafe fn set<T: WasmValueType>( &self, val: Value<T>, ) -> Result<(), GlobalError>

Set a value for the global.

§Safety

The caller should check that the val comes from the same store as this global.

Source

pub unsafe fn set_unchecked<T: WasmValueType>( &self, val: Value<T>, ) -> Result<(), GlobalError>

Set a value from the global (unchecked)

§Safety

The caller should check that the val comes from the same store as this global. The caller should also ensure that this global is synchronized. Otherwise, use set instead.

Trait Implementations§

Source§

impl Debug for Global

Source§

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

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

impl Send for Global

§Safety

This is safe to send between threads because there is no-thread specific logic. TODO: look into other reasons that make something not Send

Source§

impl Sync for Global

§Safety

This is safe to share between threads because it uses a Mutex internally.

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> ArchivePointee for T

Source§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
Source§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
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<F, W, T, D> Deserialize<With<T, W>, D> for F
where W: DeserializeWith<F, T, D>, D: Fallible + ?Sized, F: ?Sized,

Source§

fn deserialize( &self, deserializer: &mut D, ) -> Result<With<T, W>, <D as Fallible>::Error>

Deserializes using the given deserializer
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> Pointee for T

Source§

type Metadata = ()

The type for metadata in pointers and references to Self.
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.