Struct wasmer_compiler::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, pub exceptions: bool, }
Expand description
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
exceptions: bool
Wasm exceptions proposal should be enabled
Implementations
impl Features
[src]
impl Features
[src]pub fn threads(&mut self, enable: bool) -> &mut Features
[src]
pub fn threads(&mut self, enable: bool) -> &mut Features
[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 Features
[src]
pub fn reference_types(&mut self, enable: bool) -> &mut Features
[src]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.
pub fn simd(&mut self, enable: bool) -> &mut Features
[src]
pub fn simd(&mut self, enable: bool) -> &mut Features
[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 Features
[src]
pub fn bulk_memory(&mut self, enable: bool) -> &mut Features
[src]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.
pub fn multi_value(&mut self, enable: bool) -> &mut Features
[src]
pub fn multi_value(&mut self, enable: bool) -> &mut Features
[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 Features
[src]
pub fn tail_call(&mut self, enable: bool) -> &mut Features
[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 Features
[src]
pub fn module_linking(&mut self, enable: bool) -> &mut Features
[src]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.
pub fn multi_memory(&mut self, enable: bool) -> &mut Features
[src]
pub fn multi_memory(&mut self, enable: bool) -> &mut Features
[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 Features
[src]
pub fn memory64(&mut self, enable: bool) -> &mut Features
[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 Archive for Features where
bool: Archive,
[src]
impl Archive for Features where
bool: Archive,
[src]impl<'de> Deserialize<'de> for Features
[src]
impl<'de> Deserialize<'de> for Features
[src]pub fn deserialize<__D>(
__deserializer: __D
) -> Result<Features, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
[src]
pub fn deserialize<__D>(
__deserializer: __D
) -> Result<Features, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
[src]Deserialize this value from the given Serde deserializer. Read more
impl<__D> Deserialize<Features, __D> for <Features as Archive>::Archived where
__D: Fallible + ?Sized,
bool: Archive,
<bool as Archive>::Archived: Deserialize<bool, __D>,
[src]
impl<__D> Deserialize<Features, __D> for <Features as Archive>::Archived where
__D: Fallible + ?Sized,
bool: Archive,
<bool as Archive>::Archived: Deserialize<bool, __D>,
[src]impl MemoryUsage for Features
[src]
impl MemoryUsage for Features
[src]pub fn size_of_val(&self, visited: &mut dyn MemoryUsageTracker) -> usize
[src]
pub fn size_of_val(&self, visited: &mut dyn MemoryUsageTracker) -> usize
[src]Returns the size of the referenced value in bytes. Read more
impl Serialize for Features
[src]
impl Serialize for Features
[src]pub fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
[src]
pub fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
[src]Serialize this value into the given Serde serializer. Read more
impl Eq for Features
[src]
impl StructuralEq for Features
[src]
impl StructuralPartialEq for Features
[src]
Auto Trait Implementations
impl RefUnwindSafe for Features
impl Send for Features
impl Sync for Features
impl Unpin for Features
impl UnwindSafe for Features
Blanket Implementations
impl<T> ArchivePointee for T
[src]
impl<T> ArchivePointee for T
[src]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
[src]
pub fn pointer_metadata(
&<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
[src]Converts some archived metadata to the pointer metadata for itself.
impl<T> ArchiveUnsized for T where
T: Archive,
[src]
impl<T> ArchiveUnsized for T where
T: Archive,
[src]type Archived = <T as Archive>::Archived
type Archived = <T as Archive>::Archived
The archived counterpart of this type. Unlike Archive
, it may be unsized.
type MetadataResolver = ()
type MetadataResolver = ()
The resolver for the metadata of this type.
pub fn resolve_metadata(
&self,
usize,
<T as ArchiveUnsized>::MetadataResolver,
&mut MaybeUninit<<<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata>
)
[src]
pub fn resolve_metadata(
&self,
usize,
<T as ArchiveUnsized>::MetadataResolver,
&mut MaybeUninit<<<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata>
)
[src]Creates the archived version of the metadata for this value at the given position and writes it to the given output. Read more
fn resolve_unsized(
&self,
from: usize,
to: usize,
resolver: Self::MetadataResolver,
out: &mut MaybeUninit<RelPtr<Self::Archived>>
)
[src]
fn resolve_unsized(
&self,
from: usize,
to: usize,
resolver: Self::MetadataResolver,
out: &mut MaybeUninit<RelPtr<Self::Archived>>
)
[src]Resolves a relative pointer to this value with the given from
and to
and writes it to
the given output. Read more
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]pub fn equivalent(&self, key: &K) -> bool
[src]
pub fn equivalent(&self, key: &K) -> bool
[src]Compare self to key
and return true
if they are equal.
impl<T, S> SerializeUnsized<S> for T where
T: Serialize<S>,
S: Serializer + ?Sized,
[src]
impl<T, S> SerializeUnsized<S> for T where
T: Serialize<S>,
S: Serializer + ?Sized,
[src]pub fn serialize_unsized(
&self,
serializer: &mut S
) -> Result<usize, <S as Fallible>::Error>
[src]
pub fn serialize_unsized(
&self,
serializer: &mut S
) -> Result<usize, <S as Fallible>::Error>
[src]Writes the object and returns the position of the archived type.
pub fn serialize_metadata(
&self,
&mut S
) -> Result<<<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata, <S as Fallible>::Error>
[src]
pub fn serialize_metadata(
&self,
&mut S
) -> Result<<<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata, <S as Fallible>::Error>
[src]Serializes the metadata for the given type.
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,