Struct wasmer_types_near::Features[][src]

pub struct Features {
    pub threads: bool,
    pub reference_types: bool,
    pub simd: bool,
    pub bulk_memory: bool,
    pub multi_value: bool,
    pub tail_call: bool,
    pub module_linking: bool,
    pub multi_memory: bool,
    pub memory64: bool,
}

Controls which experimental features will be enabled. Features usually have a corresponding WebAssembly proposal.

Fields

threads: bool

Threads proposal should be enabled

reference_types: bool

Reference Types proposal should be enabled

simd: bool

SIMD proposal should be enabled

bulk_memory: bool

Bulk Memory proposal should be enabled

multi_value: bool

Multi Value proposal should be enabled

tail_call: bool

Tail call proposal should be enabled

module_linking: bool

Module Linking proposal should be enabled

multi_memory: bool

Multi Memory proposal should be enabled

memory64: bool

64-bit Memory proposal should be enabled

Implementations

impl Features[src]

pub fn new() -> Self[src]

Create a new feature

pub fn threads(&mut self, enable: bool) -> &mut Self

Notable traits for &'_ mut I

impl<'_, I> Iterator for &'_ mut I where
    I: Iterator + ?Sized
type Item = <I as Iterator>::Item;impl<'_, F> Future for &'_ mut F where
    F: Unpin + Future + ?Sized
type Output = <F as Future>::Output;
[src]

Configures whether the WebAssembly threads proposal will be enabled.

The WebAssembly threads proposal is not currently fully standardized and is undergoing development. Support for this feature can be enabled through this method for appropriate WebAssembly modules.

This feature gates items such as shared memories and atomic instructions.

This is false by default.

pub fn reference_types(&mut self, enable: bool) -> &mut Self

Notable traits for &'_ mut I

impl<'_, I> Iterator for &'_ mut I where
    I: Iterator + ?Sized
type Item = <I as Iterator>::Item;impl<'_, F> Future for &'_ mut F where
    F: Unpin + Future + ?Sized
type Output = <F as Future>::Output;
[src]

Configures whether the WebAssembly reference types proposal will be enabled.

The WebAssembly reference types proposal is not currently fully standardized and is undergoing development. Support for this feature can be enabled through this method for appropriate WebAssembly modules.

This feature gates items such as the externref type and multiple tables being in a module. Note that enabling the reference types feature will also enable the bulk memory feature.

This is false by default.

pub fn simd(&mut self, enable: bool) -> &mut Self

Notable traits for &'_ mut I

impl<'_, I> Iterator for &'_ mut I where
    I: Iterator + ?Sized
type Item = <I as Iterator>::Item;impl<'_, F> Future for &'_ mut F where
    F: Unpin + Future + ?Sized
type Output = <F as Future>::Output;
[src]

Configures whether the WebAssembly SIMD proposal will be enabled.

The WebAssembly SIMD proposal is not currently fully standardized and is undergoing development. Support for this feature can be enabled through this method for appropriate WebAssembly modules.

This feature gates items such as the v128 type and all of its operators being in a module.

This is false by default.

pub fn bulk_memory(&mut self, enable: bool) -> &mut Self

Notable traits for &'_ mut I

impl<'_, I> Iterator for &'_ mut I where
    I: Iterator + ?Sized
type Item = <I as Iterator>::Item;impl<'_, F> Future for &'_ mut F where
    F: Unpin + Future + ?Sized
type Output = <F as Future>::Output;
[src]

Configures whether the WebAssembly bulk memory operations proposal will be enabled.

The WebAssembly bulk memory operations proposal is not currently fully standardized and is undergoing development. Support for this feature can be enabled through this method for appropriate WebAssembly modules.

This feature gates items such as the memory.copy instruction, passive data/table segments, etc, being in a module.

This is false by default.

pub fn multi_value(&mut self, enable: bool) -> &mut Self

Notable traits for &'_ mut I

impl<'_, I> Iterator for &'_ mut I where
    I: Iterator + ?Sized
type Item = <I as Iterator>::Item;impl<'_, F> Future for &'_ mut F where
    F: Unpin + Future + ?Sized
type Output = <F as Future>::Output;
[src]

Configures whether the WebAssembly multi-value proposal will be enabled.

The WebAssembly multi-value proposal is not currently fully standardized and is undergoing development. Support for this feature can be enabled through this method for appropriate WebAssembly modules.

This feature gates functions and blocks returning multiple values in a module, for example.

This is false by default.

pub fn tail_call(&mut self, enable: bool) -> &mut Self

Notable traits for &'_ mut I

impl<'_, I> Iterator for &'_ mut I where
    I: Iterator + ?Sized
type Item = <I as Iterator>::Item;impl<'_, F> Future for &'_ mut F where
    F: Unpin + Future + ?Sized
type Output = <F as Future>::Output;
[src]

Configures whether the WebAssembly tail-call proposal will be enabled.

The WebAssembly tail-call proposal is not currently fully standardized and is undergoing development. Support for this feature can be enabled through this method for appropriate WebAssembly modules.

This feature gates tail-call functions in WebAssembly.

This is false by default.

pub fn module_linking(&mut self, enable: bool) -> &mut Self

Notable traits for &'_ mut I

impl<'_, I> Iterator for &'_ mut I where
    I: Iterator + ?Sized
type Item = <I as Iterator>::Item;impl<'_, F> Future for &'_ mut F where
    F: Unpin + Future + ?Sized
type Output = <F as Future>::Output;
[src]

Configures whether the WebAssembly tail-call proposal will be enabled.

The WebAssembly tail-call proposal is not currently fully standardized and is undergoing development. Support for this feature can be enabled through this method for appropriate WebAssembly modules.

This feature allows WebAssembly modules to define, import and export modules and instances.

This is false by default.

pub fn multi_memory(&mut self, enable: bool) -> &mut Self

Notable traits for &'_ mut I

impl<'_, I> Iterator for &'_ mut I where
    I: Iterator + ?Sized
type Item = <I as Iterator>::Item;impl<'_, F> Future for &'_ mut F where
    F: Unpin + Future + ?Sized
type Output = <F as Future>::Output;
[src]

Configures whether the WebAssembly multi-memory proposal will be enabled.

The WebAssembly multi-memory proposal is not currently fully standardized and is undergoing development. Support for this feature can be enabled through this method for appropriate WebAssembly modules.

This feature adds the ability to use multiple memories within a single Wasm module.

This is false by default.

pub fn memory64(&mut self, enable: bool) -> &mut Self

Notable traits for &'_ mut I

impl<'_, I> Iterator for &'_ mut I where
    I: Iterator + ?Sized
type Item = <I as Iterator>::Item;impl<'_, F> Future for &'_ mut F where
    F: Unpin + Future + ?Sized
type Output = <F as Future>::Output;
[src]

Configures whether the WebAssembly 64-bit memory proposal will be enabled.

The WebAssembly 64-bit memory proposal is not currently fully standardized and is undergoing development. Support for this feature can be enabled through this method for appropriate WebAssembly modules.

This feature gates support for linear memory of sizes larger than 2^32 bits.

This is false by default.

Trait Implementations

impl Clone for Features[src]

impl Debug for Features[src]

impl Default for Features[src]

impl<'de> Deserialize<'de> for Features[src]

impl Eq for Features[src]

impl PartialEq<Features> for Features[src]

impl Serialize for Features[src]

impl StructuralEq for Features[src]

impl StructuralPartialEq for Features[src]

Auto Trait Implementations

Blanket Implementations

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

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

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

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

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

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

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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.

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.