[build-dependencies.cc]
optional = true
version = "1.2.41"
[build-dependencies.wasmtime-versioned-export-macros]
optional = true
package = "wasmtime-internal-versioned-export-macros"
version = "=40.0.0"
[dependencies.addr2line]
default-features = false
optional = true
version = "0.25.1"
[dependencies.anyhow]
default-features = false
version = "1.0.100"
[dependencies.async-trait]
optional = true
version = "0.1.89"
[dependencies.bitflags]
version = "2.9.4"
[dependencies.bumpalo]
version = "3.11.0"
[dependencies.bytes]
default-features = false
optional = true
version = "1.10.1"
[dependencies.cfg-if]
version = "1.0"
[dependencies.encoding_rs]
optional = true
version = "0.8.31"
[dependencies.futures]
default-features = false
features = ["alloc"]
optional = true
version = "0.3.31"
[dependencies.fxprof-processed-profile]
optional = true
version = "0.8.1"
[dependencies.gimli]
default-features = false
features = ["read"]
optional = true
version = "0.32.3"
[dependencies.hashbrown]
default-features = false
features = ["default-hasher"]
version = "0.15"
[dependencies.indexmap]
default-features = false
version = "2.11.4"
[dependencies.libc]
default-features = true
version = "0.2.177"
[dependencies.log]
default-features = false
version = "0.4.28"
[dependencies.object]
default-features = false
features = ["read_core", "elf", "unaligned"]
version = "0.37.3"
[dependencies.once_cell]
optional = true
version = "1.12.0"
[dependencies.postcard]
default-features = false
features = ["alloc"]
version = "1.1.3"
[dependencies.pulley-interpreter]
version = "=40.0.0"
[dependencies.rayon]
optional = true
version = "1.5.3"
[dependencies.semver]
default-features = false
optional = true
version = "1.0.27"
[dependencies.serde]
default-features = false
features = ["alloc"]
version = "1.0.228"
[dependencies.serde_derive]
version = "1.0.228"
[dependencies.serde_json]
optional = true
version = "1.0.80"
[dependencies.smallvec]
features = ["union"]
optional = true
version = "1.15.1"
[dependencies.target-lexicon]
version = "0.13.0"
[dependencies.tempfile]
optional = true
version = "3.23.0"
[dependencies.wasm-compose]
optional = true
version = "0.243.0"
[dependencies.wasm-encoder]
optional = true
version = "0.243.0"
[dependencies.wasm-wave]
optional = true
version = "0.243.0"
[dependencies.wasmparser]
default-features = false
features = ["simd"]
version = "0.243.0"
[dependencies.wasmtime-cache]
optional = true
package = "wasmtime-internal-cache"
version = "=40.0.0"
[dependencies.wasmtime-component-macro]
optional = true
package = "wasmtime-internal-component-macro"
version = "=40.0.0"
[dependencies.wasmtime-component-util]
optional = true
package = "wasmtime-internal-component-util"
version = "=40.0.0"
[dependencies.wasmtime-cranelift]
features = ["pulley"]
optional = true
package = "wasmtime-internal-cranelift"
version = "=40.0.0"
[dependencies.wasmtime-environ]
version = "=40.0.0"
[dependencies.wasmtime-fiber]
optional = true
package = "wasmtime-internal-fiber"
version = "=40.0.0"
[dependencies.wasmtime-jit-debug]
optional = true
package = "wasmtime-internal-jit-debug"
version = "=40.0.0"
[dependencies.wasmtime-jit-icache-coherence]
optional = true
package = "wasmtime-internal-jit-icache-coherence"
version = "=40.0.0"
[dependencies.wasmtime-math]
package = "wasmtime-internal-math"
version = "=40.0.0"
[dependencies.wasmtime-slab]
optional = true
package = "wasmtime-internal-slab"
version = "=40.0.0"
[dependencies.wasmtime-unwinder]
optional = true
package = "wasmtime-internal-unwinder"
version = "=40.0.0"
[dependencies.wasmtime-versioned-export-macros]
package = "wasmtime-internal-versioned-export-macros"
version = "=40.0.0"
[dependencies.wasmtime-winch]
optional = true
package = "wasmtime-internal-winch"
version = "=40.0.0"
[dependencies.wasmtime-wmemcheck]
optional = true
package = "wasmtime-internal-wmemcheck"
version = "=40.0.0"
[dependencies.wat]
optional = true
version = "1.243.0"
[dev-dependencies.cranelift-native]
version = "0.127.0"
[dev-dependencies.env_logger]
version = "0.11.5"
[dev-dependencies.libtest-mimic]
version = "0.8.1"
[dev-dependencies.proptest]
version = "1.0.0"
[dev-dependencies.rand]
features = ["small_rng"]
version = "0.9.2"
[dev-dependencies.tempfile]
version = "3.23.0"
[dev-dependencies.tokio]
features = ["rt", "time", "macros", "sync", "rt-multi-thread"]
version = "1.48.0"
[features]
addr2line = ["dep:addr2line", "dep:gimli", "std"]
all-arch = ["wasmtime-cranelift?/all-arch", "wasmtime-winch?/all-arch", "pulley"]
async = ["dep:wasmtime-fiber", "wasmtime-component-macro?/async", "runtime"]
cache = ["dep:wasmtime-cache", "std"]
call-hook = []
compile-time-builtins = ["dep:wasm-compose", "dep:tempfile"]
component-model = ["wasmtime-environ/component-model", "wasmtime-cranelift?/component-model", "wasmtime-winch?/component-model", "dep:wasmtime-component-macro", "dep:wasmtime-component-util", "dep:encoding_rs", "dep:semver"]
component-model-async = ["async", "component-model", "std", "wasmtime-component-macro?/component-model-async", "dep:futures", "futures/std"]
component-model-async-bytes = ["component-model-async", "dep:bytes"]
coredump = ["dep:wasm-encoder", "runtime", "std"]
cranelift = ["dep:wasmtime-cranelift", "std", "wasmtime-unwinder/cranelift"]
custom-native-signals = []
custom-sync-primitives = []
custom-virtual-memory = []
debug = ["runtime", "async"]
debug-builtins = ["wasmtime-jit-debug/gdb_jit_int"]
default = ["async", "cache", "gc", "gc-drc", "gc-null", "wat", "profiling", "parallel-compilation", "cranelift", "pooling-allocator", "demangle", "addr2line", "coredump", "debug-builtins", "runtime", "component-model", "component-model-async", "threads", "stack-switching", "std", "debug", "compile-time-builtins"]
demangle = ["wasmtime-environ/demangle", "std"]
gc = ["wasmtime-environ/gc", "wasmtime-cranelift?/gc", "wasmtime-winch?/gc"]
gc-drc = ["gc", "wasmtime-environ/gc-drc", "wasmtime-cranelift?/gc-drc", "wasmtime-winch?/gc-drc"]
gc-null = ["gc", "wasmtime-environ/gc-null", "wasmtime-cranelift?/gc-null", "wasmtime-winch?/gc-null"]
incremental-cache = ["wasmtime-cranelift?/incremental-cache", "std"]
memory-protection-keys = ["pooling-allocator"]
parallel-compilation = ["dep:rayon", "std"]
pooling-allocator = ["runtime", "std"]
profile-pulley = ["pulley", "profiling", "pulley-interpreter/profile"]
profiling = ["dep:fxprof-processed-profile", "dep:ittapi", "dep:rustix", "rustix/thread", "dep:serde_json", "std", "wasmtime-jit-debug/perf_jitdump"]
pulley = []
reexport-wasmparser = []
runtime = ["dep:cc", "dep:smallvec", "dep:mach2", "dep:memfd", "dep:wasmtime-slab", "dep:wasmtime-versioned-export-macros", "dep:windows-sys", "pulley-interpreter/interp", "dep:wasmtime-unwinder", "dep:async-trait"]
stack-switching = ["runtime", "std", "wasmtime-environ/stack-switching", "wasmtime-cranelift?/stack-switching", "wasmtime-winch?/stack-switching"]
std = ["postcard/use-std", "wasmtime-environ/std", "object/std", "once_cell", "wasmtime-fiber?/std", "pulley-interpreter/std", "wasmtime-math/std", "addr2line?/std", "dep:rustix", "wasmtime-jit-icache-coherence", "wasmtime-jit-debug?/std"]
threads = ["wasmtime-cranelift?/threads", "wasmtime-winch?/threads", "std"]
trace-log = ["wasmtime-cranelift?/trace-log"]
wave = ["dep:wasm-wave", "component-model"]
winch = ["dep:wasmtime-winch", "std"]
wmemcheck = ["dep:wasmtime-wmemcheck", "wasmtime-cranelift?/wmemcheck", "wasmtime-winch?/wmemcheck", "wasmtime-environ/wmemcheck", "std"]
[lib]
name = "wasmtime"
path = "src/lib.rs"
[lints.clippy]
allow_attributes_without_reason = "warn"
clone_on_copy = "warn"
extra_unused_type_parameters = "warn"
from_over_into = "warn"
manual_strip = "warn"
map_clone = "warn"
multiple_bound_locations = "warn"
redundant_field_names = "warn"
uninlined_format_args = "warn"
unnecessary_cast = "warn"
unnecessary_fallible_conversions = "warn"
unnecessary_mut_passed = "warn"
unnecessary_to_owned = "warn"
useless_conversion = "warn"
[lints.clippy.all]
level = "allow"
priority = -1
[lints.rust]
trivial_numeric_casts = "warn"
unstable_features = "warn"
unused-lifetimes = "warn"
unused-macro-rules = "warn"
unused_extern_crates = "warn"
unused_import_braces = "warn"
[lints.rust.unexpected_cfgs]
check-cfg = ["cfg(pulley_tail_calls)", "cfg(pulley_assume_llvm_makes_tail_calls)", "cfg(pulley_disable_interp_simd)"]
level = "warn"
priority = 0
[package]
authors = ["The Wasmtime Project Developers"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = "build.rs"
description = "High-level API to expose the Wasmtime runtime"
documentation = "https://docs.rs/wasmtime"
edition = "2024"
license = "Apache-2.0 WITH LLVM-exception"
name = "wasmtime"
readme = "README.md"
repository = "https://github.com/bytecodealliance/wasmtime"
resolver = "2"
rust-version = "1.89.0"
version = "40.0.0"
[package.metadata.docs.rs]
all-features = true
[target.'cfg(all(target_arch = "x86_64", target_os = "linux"))'.dependencies.ittapi]
optional = true
version = "0.4.0"
[target.'cfg(all(target_arch = "x86_64", target_os = "macos"))'.dependencies.ittapi]
optional = true
version = "0.4.0"
[target.'cfg(all(target_arch = "x86_64", target_os = "windows"))'.dependencies.ittapi]
optional = true
version = "0.4.0"
[target.'cfg(target_os = "linux")'.dependencies.memfd]
optional = true
version = "0.6.5"
[target.'cfg(target_os = "windows")'.dependencies.windows-sys]
features = ["Win32_Foundation", "Win32_System_Kernel", "Win32_System_Memory", "Win32_System_Diagnostics_Debug", "Win32_System_SystemInformation", "Win32_Storage_FileSystem", "Win32_Security"]
optional = true
version = "0.61.2"
[target.'cfg(target_vendor = "apple")'.dependencies.mach2]
optional = true
version = "0.4.2"
[target."cfg(unix)".dependencies.rustix]
features = ["mm", "param"]
optional = true
version = "1.0.8"
[[test]]
name = "custom_signal_handler"
path = "tests/custom_signal_handler.rs"
[[test]]
harness = false
name = "engine_across_forks"
path = "tests/engine_across_forks.rs"
[[test]]
harness = false
name = "host_segfault"
path = "tests/host_segfault.rs"
[[test]]
harness = false
name = "pooling_alloc_near_oom"
path = "tests/pooling_alloc_near_oom.rs"
[[test]]
name = "unload-engine"
path = "tests/unload-engine.rs"