Struct wasmer_asml_fork::Global[][src]

pub struct Global { /* fields omitted */ }
Expand description

A WebAssembly global instance.

A global instance is the runtime representation of a global variable. It consists of an individual value and a flag indicating whether it is mutable.

Spec: https://webassembly.github.io/spec/core/exec/runtime.html#global-instances

Implementations

Create a new Global with the initial value Val.

Example
let g = Global::new(&store, Value::I32(1));

assert_eq!(g.get(), Value::I32(1));
assert_eq!(g.ty().mutability, Mutability::Const);

Create a mutable Global with the initial value Val.

Example
let g = Global::new_mut(&store, Value::I32(1));

assert_eq!(g.get(), Value::I32(1));
assert_eq!(g.ty().mutability, Mutability::Var);

Returns the GlobalType of the Global.

Example
let c = Global::new(&store, Value::I32(1));
let v = Global::new_mut(&store, Value::I64(1));

assert_eq!(c.ty(), &GlobalType::new(Type::I32, Mutability::Const));
assert_eq!(v.ty(), &GlobalType::new(Type::I64, Mutability::Var));

Returns the Store where the Global belongs.

Example
let g = Global::new(&store, Value::I32(1));

assert_eq!(g.store(), &store);

Retrieves the current value Val that the Global has.

Example
let g = Global::new(&store, Value::I32(1));

assert_eq!(g.get(), Value::I32(1));

Sets a custom value Val to the runtime Global.

Example
let g = Global::new_mut(&store, Value::I32(1));

assert_eq!(g.get(), Value::I32(1));

g.set(Value::I32(2));

assert_eq!(g.get(), Value::I32(2));
Errors

Trying to mutate a immutable global will raise an error:

let g = Global::new(&store, Value::I32(1));

g.set(Value::I32(2)).unwrap();

Trying to set a value of a incompatible type will raise an error:

let g = Global::new(&store, Value::I32(1));

// This results in an error: `RuntimeError`.
g.set(Value::I64(2)).unwrap();

Returns whether or not these two globals refer to the same data.

Example
let g = Global::new(&store, Value::I32(1));

assert!(g.same(&g));

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

This function is used when providedd the Extern as exportable, so it can be used while instantiating the Module. Read more

Implementation of how to get the export corresponding to the implementing type from an Instance by name. Read more

Convert the extern internally to hold a weak reference to the InstanceRef. This is useful for preventing cycles, for example for data stored in a type implementing WasmerEnv. Read more

Performs the conversion.

Returns the size of the referenced value in bytes. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

The archived version of the pointer metadata for this type.

Converts some archived metadata to the pointer metadata for itself.

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Performs the conversion.

The alignment of pointer.

The type for initializers.

Initializes a with the given initializer. Read more

Dereferences the given pointer. Read more

Mutably dereferences the given pointer. Read more

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

The type for metadata in pointers and references to Self.

The resulting type after obtaining ownership.

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

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

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

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more