pub struct Global { /* private fields */ }
Expand description
A WebAssembly global
value which can be read and written to.
A global
in WebAssembly is sort of like a global variable within an
Instance
. The global.get
and global.set
instructions will modify and read global values in a wasm module. Globals
can either be imported or exported from wasm modules.
If you’re familiar with Rust already you can think of a Global
as a sort
of Rc<Cell<Val>>
, more or less.
Global
and Clone
Globals are internally reference counted so you can clone
a Global
. The
cloning process only performs a shallow clone, so two cloned Global
instances are equivalent in their functionality.
Implementations
sourceimpl Global
impl Global
sourcepub fn new(store: &Store, ty: GlobalType, val: Val) -> Result<Global>
pub fn new(store: &Store, ty: GlobalType, val: Val) -> Result<Global>
Creates a new WebAssembly global
value with the provide type ty
and
initial value val
.
The store
argument provided is used as a general global cache for
information, and otherwise the ty
and val
arguments are used to
initialize the global.
Errors
Returns an error if the ty
provided does not match the type of the
value val
.
sourcepub fn ty(&self) -> GlobalType
pub fn ty(&self) -> GlobalType
Returns the underlying type of this global
.
sourcepub fn mutability(&self) -> Mutability
pub fn mutability(&self) -> Mutability
Returns the underlying mutability of this global
.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Global
impl !Send for Global
impl !Sync for Global
impl Unpin for Global
impl !UnwindSafe for Global
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