Cargo Features

wiggle = { version = "20.0.0", default-features = false, features = ["wiggle_metadata", "tracing_log", "wasmtime", "wasmtime_async"] }
wiggle_metadata default = witx

The wiggle proc-macro emits some code (inside pub mod metadata) guarded by the wiggle_metadata feature flag. We use this feature flag so that users of wiggle are not forced to take a direct dependency on the witx crate unless they want it.

Enables wiggle_metadata of wiggle-macro


The tracing crate can use the log ecosystem of backends with this non-default feature. We don't need to provide this by default, but its useful for users that don't want to use tracing-subscriber to get the logs out of wiggle-generated libraries.

Enables log of tracing

wasmtime default wasmtime_async

This feature enables integration with wasmtime.

Enables wasmtime

Affects wiggle::wasmtime_crate

wasmtime_async default

Support for async in the wasmtime crates.

Enables async of wasmtime

default = wasmtime, wasmtime_async, wiggle_metadata

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

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

witx wiggle_metadata