Struct wasmer_compiler::Features 
source · [−]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,
    pub exceptions: bool,
}Expand description
Controls which experimental features will be enabled. Features usually have a corresponding WebAssembly proposal.
Fields
threads: boolThreads proposal should be enabled
reference_types: boolReference Types proposal should be enabled
simd: boolSIMD proposal should be enabled
bulk_memory: boolBulk Memory proposal should be enabled
multi_value: boolMulti Value proposal should be enabled
tail_call: boolTail call proposal should be enabled
module_linking: boolModule Linking proposal should be enabled
multi_memory: boolMulti Memory proposal should be enabled
memory64: bool64-bit Memory proposal should be enabled
exceptions: boolWasm exceptions proposal should be enabled
Implementations
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.
Configures whether the WebAssembly reference types proposal will be enabled.
The WebAssembly reference types proposal is now fully standardized and enabled by default.
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 true by default.
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.
Configures whether the WebAssembly bulk memory operations proposal will be enabled.
The WebAssembly bulk memory operations proposal is now fully standardized and enabled by default.
This feature gates items such as the memory.copy instruction, passive
data/table segments, etc, being in a module.
This is true by default.
Configures whether the WebAssembly multi-value proposal will be enabled.
The WebAssembly multi-value proposal is now fully standardized and enabled by default, except with the singlepass compiler which does not support it.
This feature gates functions and blocks returning multiple values in a module, for example.
This is true by default.
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.
Configures whether the WebAssembly module linking proposal will be enabled.
The WebAssembly module linking 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.
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.
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
pub fn deserialize<__D>(
    __deserializer: __D
) -> Result<Features, <__D as Deserializer<'de>>::Error> where
    __D: Deserializer<'de>, 
pub fn deserialize<__D>(
    __deserializer: __D
) -> Result<Features, <__D as Deserializer<'de>>::Error> where
    __D: Deserializer<'de>, 
Deserialize this value from the given Serde deserializer. Read more
Returns the size of the referenced value in bytes. Read more
pub fn serialize<__S>(
    &self, 
    __serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
    __S: Serializer, 
pub fn serialize<__S>(
    &self, 
    __serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
    __S: Serializer, 
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations
impl RefUnwindSafe for Features
impl UnwindSafe for Features
Blanket Implementations
type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
pub fn pointer_metadata(
    &<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
pub fn pointer_metadata(
    &<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
The archived counterpart of this type. Unlike Archive, it may be unsized. Read more
type MetadataResolver = ()
type MetadataResolver = ()
The resolver for the metadata of this type. Read more
pub unsafe fn resolve_metadata(
    &self, 
    usize, 
    <T as ArchiveUnsized>::MetadataResolver, 
    *mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata
)
pub unsafe fn resolve_metadata(
    &self, 
    usize, 
    <T as ArchiveUnsized>::MetadataResolver, 
    *mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata
)
Creates the archived version of the metadata for this value at the given position and writes it to the given output. Read more
Mutably borrows from an owned value. Read more
impl<F, W, T, D> Deserialize<With<T, W>, D> for F where
    W: DeserializeWith<F, T, D>,
    D: Fallible + ?Sized,
    F: ?Sized, 
impl<F, W, T, D> Deserialize<With<T, W>, D> for F where
    W: DeserializeWith<F, T, D>,
    D: Fallible + ?Sized,
    F: ?Sized, 
Compare self to key and return true if they are equal.