Struct wasmedge_sys::Global

source ·
pub struct Global { /* private fields */ }
Expand description

Defines a WebAssembly global variable, which stores a single value of the given type and a flag indicating whether it is mutable or not.

Implementations§

Creates a new Global instance to be associated with the given GlobalType and WasmValue.

The type of the given WasmValue must be matched with GlobalType; otherwise, it causes a failure. For example, WasmValue::I32(520) conflicts with a GlobalType with a value type defined as ValType::F32.

Errors
  • If fail to create the Global instance, then WasmEdgeError::Global(GlobalError::Create)(crate::error::GlobalError) is returned.

Returns the underlying wasm type of a Global instance.

Errors

If fail to get the type, then an error is returned.

Returns the value of the Global instance.

Sets the value of the Global instance.

Notice that only the Global instance of Mutability::Var type can be set a new value. Setting a new value for a Global of Mutability::Const causes a failure.

Argument
  • val - The new wasm value to be set.
Errors

If fail to set value, then an error is returned.

Example
use wasmedge_sys::{Global, GlobalType, WasmValue};
use wasmedge_types::{ValType, Mutability};

// create a GlobalType instance
let ty = GlobalType::create(ValType::F32, Mutability::Var).expect("fail to create a GlobalType");
// create a Global instance
let mut global = Global::create(&ty, WasmValue::from_f32(3.1415)).expect("fail to create a Global");

global.set_value(WasmValue::from_f32(314.15)).expect("fail to set a new value for a Global");
assert_eq!(global.get_value().to_f32(), 314.15);

Provides a raw pointer to the inner global context.

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
Executes the destructor for this type. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
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.