[package] name = "wit-bindgen" authors = ["Alex Crichton "] version = { workspace = true } edition = { workspace = true } repository = { workspace = true } license = { workspace = true } homepage = 'https://github.com/bytecodealliance/wit-bindgen' description = """ Rust bindings generator and runtime support for WIT and the component model. Used when compiling Rust programs to the component model. """ # Note that this is specifically different from the workspace's MSRV because # this crate gets included in a number of other crates in the Rust ecosystem # (e.g. through the `wasip{1,2,3}` crates) and thus we want it to be a bit more # compatible than most. Take the same stance as wasm-tools where this is no # larger than the current version of Rust minus 10 for now. rust-version = "1.85.0" [lints] workspace = true [package.metadata.docs.rs] all-features = true [dependencies] wit-bindgen-rust-macro = { path = "./macro", optional = true, default-features = false, version = "0.57.1" } bitflags = { workspace = true, optional = true } futures = { version = "0.3.30", optional = true } # When built as part of libstd core = { version = "1.0", optional = true, package = "rustc-std-workspace-core" } alloc = { version = "1.0", optional = true, package = "rustc-std-workspace-alloc" } [features] default = ["macros", "realloc", "async", "std", "bitflags", "macro-string"] macros = ["dep:wit-bindgen-rust-macro"] realloc = [] std = [] async = [] bitflags = ["dep:bitflags"] async-spawn = ['async', 'dep:futures', 'std'] futures-stream = ['async', 'dep:futures'] macro-string = ["wit-bindgen-rust-macro?/macro-string"] # Unstable feature to support being a libstd dependency rustc-dep-of-std = ["dep:core", "dep:alloc"] # Requires a newer `wasm-component-ld` and `wasm-tools`, so currently disabled # by default. Once the versions of tooling have propagated this will be enabled # by default. inter-task-wakeup = ["async"]