Cargo Features

wasmtime = { version = "15.0.1", default-features = false, features = ["cranelift", "winch", "incremental-cache", "profiling", "parallel-compilation", "cache", "async", "pooling-allocator", "all-arch", "component-model", "wmemcheck", "demangle", "coredump", "addr2line", "debug-builtins", "wat"] }


Features for the Wasmtime crate.

This section contains the compile-time features of the wasmtime crate. These features can be used to add more functionality and APIs exposed from the crate's API. Most of them are enabled by default. Disabling features can be done to cut down on binary size by disabling features that are not required for a particular embedding.

default = addr2line, async, cache, coredump, cranelift, debug-builtins, demangle, parallel-compilation, pooling-allocator, profiling, wat

These default features are set whenever wasmtime is added without default-features = false somewhere in the dependency tree.

cranelift default

An on-by-default feature enabling runtime compilation of WebAssembly modules with the Cranelift compiler. Cranelift is the default compilation backend of Wasmtime. If disabled then WebAssembly modules can only be created from precompiled WebAssembly modules.

Enables wasmtime-cranelift

Affects serialization::append_compiler_info, func::create_array_call_function


Enables support for winch, the WebAssembly baseline compiler. The Winch compiler strategy in Config will be available. It is currently in active development and shouldn't be used in production applications.

Enables wasmtime-winch

Affects serialization::append_compiler_info, func::create_array_call_function


Enables support for incremental compilation cache to be enabled in Config.

Enables incremental-cache of optional wasmtime-cranelift

profiling default

Enables support for profiling guest modules.

Enables fxprof-processed-profile, profiling of wasmtime-jit

parallel-compilation default

Enables parallel compilation of WebAssembly code.

Enables rayon

cache default

Enables support for automatic cache configuration to be enabled in Config.

Enables wasmtime-cache

async default

Enables support for "async stores" as well as defining host functions as async fn and calling functions asynchronously.

Enables async-trait, wasmtime-fiber, async of wasmtime-runtime, async of optional wasmtime-component-macro

Affects limits::ResourceLimiterAsync, store::CallHookHandler, store::AsyncCx

pooling-allocator default

Enables support for the pooling instance allocation strategy

Enables pooling-allocator of wasmtime-runtime

Affects config::PoolingAllocationConfig


Enables support for all architectures in Cranelift, allowing cross-compilation using the wasmtime crate's API, notably the Engine::precompile_module function.

Enables all-arch of optional wasmtime-cranelift and optional wasmtime-winch


Enables in-progress support for the component model. Note that this feature is in-progress, buggy, and incomplete. This is primarily here for internal testing purposes.

Enables encoding_rs, wasmtime-component-macro, and wasmtime-component-util, component-model of wasmtime-environ, wasmtime-runtime, optional wasmtime-cranelift, and optional wasmtime-winch

Affects compiler::Artifacts.trampolines, compiler::Artifacts.resource_drop_wasm_to_native_trampoline, wasmtime::component


Enables wmemcheck of optional wasmtime-cranelift and wasmtime-runtime

demangle default

Enables support for demangling WebAssembly function names at runtime in errors such as backtraces.

Enables demangle of wasmtime-jit

coredump default

Enable support for generating core dumps on traps.

Enables wasm-encoder ^0.36.2

addr2line default

Support address-to-file/line information in traps when wasm files have DWARF debugging information.

Enables addr2line of wasmtime-jit

debug-builtins default

Export some symbols from the final binary to assist in debugging Cranelift-generated code with native debuggers like GDB and LLDB.

Enables debug-builtins of wasmtime-runtime

Features from optional dependencies

wat default