# [−] [src] Struct wasmi::GlobalInstance

    pub struct GlobalInstance { /* fields omitted */ }

Runtime representation of a global variable (or `global` for short).

Global contains a value of a specified type and flag which specifies whether this global are mutable or immutable. Neither type of the value nor immutability can't be changed after creation.

Attempt to change value of immutable global or to change type of the value (e.g. assign `I32` value to a global that was created with `I64` type) will lead to an error.

## Methods

### `impl GlobalInstance` [src]

#### `pub fn alloc(val: RuntimeValue, mutable: bool) -> GlobalRef` [src]

Allocate a global variable instance.

Since it is possible to export only immutable globals, users likely want to set `mutable` to `false`.

#### `pub fn set(&self, val: RuntimeValue) -> Result<(), Error>` [src]

Change the value of this global variable.

# Errors

Returns `Err` if this global isn't mutable or if type of `val` doesn't match global's type.

#### `pub fn get(&self) -> RuntimeValue` [src]

Get the value of this global variable.

#### `pub fn is_mutable(&self) -> bool` [src]

Returns if this global variable is mutable.

Note: Imported and/or exported globals are always immutable.

#### `pub fn value_type(&self) -> ValueType` [src]

Returns value type of this global variable.

## Trait Implementations

### `impl Debug for GlobalInstance` [src]

#### `fn fmt(&self, f: &mut Formatter) -> Result` [src]

Formats the value using the given formatter. Read more

## Auto Trait Implementations

### `impl Send for GlobalInstance`

### `impl !Sync for GlobalInstance`

### `impl Unpin for GlobalInstance`

### `impl UnwindSafe for GlobalInstance`

### `impl !RefUnwindSafe for GlobalInstance`

## Blanket Implementations

### `impl<T, U> Into<U> for T where
U: From<T>,` [src]

#### `fn into(self) -> U` [src]

Performs the conversion.

### `impl<T> From<T> for T` [src]

#### `fn from(t: T) -> T` [src]

Performs the conversion.

### `impl<T, U> TryFrom<U> for T where
U: Into<T>,` [src]

#### `type Error = Infallible`

The type returned in the event of a conversion error.

#### `fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>` [src]

Performs the conversion.

### `impl<T, U> TryInto<U> for T where
U: TryFrom<T>,` [src]

#### `type Error = <U as TryFrom<T>>::Error`

The type returned in the event of a conversion error.

#### `fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>` [src]

Performs the conversion.

### `impl<T> Borrow<T> for T where
T: ?Sized,` [src]

#### `fn borrow(&self) -> &T` [src]

Immutably borrows from an owned value. Read more

### `impl<T> BorrowMut<T> for T where
T: ?Sized,` [src]

#### `fn borrow_mut(&mut self) -> &mut T` [src]

Mutably borrows from an owned value. Read more

### `impl<T> Any for T where
T: 'static + ?Sized,` [src]

#### `fn type_id(&self) -> TypeId` [src]

Gets the `TypeId` of `self`. Read more

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g., `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g., `vec -> usize` or `* -> vec`)

Search multiple things at once by splitting your query with comma (e.g., `str,u8` or `String,struct:Vec,test`)