Implement RFC 11: Redesigning Wasmtime's APIs (#2897)
Implement Wasmtime's new API as designed by RFC 11. This is quite a large commit which has had lots of discussion externally, so for more information it's best to read the RFC thread and the PR thread.
This commit is contained in:
@@ -17,14 +17,33 @@ wiggle-macro = { path = "macro", version = "0.27.0" }
|
||||
tracing = "0.1.15"
|
||||
bitflags = "1.2"
|
||||
async-trait = "0.1.42"
|
||||
wasmtime = { path = "../wasmtime", version = "0.27.0", optional = true, default-features = false }
|
||||
anyhow = "1.0"
|
||||
|
||||
[badges]
|
||||
maintenance = { status = "actively-developed" }
|
||||
|
||||
[dev-dependencies]
|
||||
wiggle-test = { path = "test-helpers" }
|
||||
anyhow = "1"
|
||||
proptest = "1.0.0"
|
||||
|
||||
[[test]]
|
||||
name = "wasmtime_async"
|
||||
path = "tests/wasmtime_async.rs"
|
||||
required-features = ["wasmtime_async", "wasmtime/wat"]
|
||||
|
||||
[[test]]
|
||||
name = "wasmtime_sync"
|
||||
path = "tests/wasmtime_sync.rs"
|
||||
required-features = ["wasmtime_integration", "wasmtime/wat"]
|
||||
|
||||
[[test]]
|
||||
name = "wasmtime_integration"
|
||||
path = "tests/wasmtime_integration.rs"
|
||||
required-features = ["wasmtime_integration", "wasmtime/wat"]
|
||||
|
||||
|
||||
[features]
|
||||
# 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
|
||||
@@ -38,4 +57,9 @@ wiggle_metadata = ['witx', "wiggle-macro/wiggle_metadata"]
|
||||
# the logs out of wiggle-generated libraries.
|
||||
tracing_log = [ "tracing/log" ]
|
||||
|
||||
default = ["wiggle_metadata" ]
|
||||
# Generate adapters for wasmtime, and expose the wasmtime_integration macro.
|
||||
wasmtime_integration = [ "wasmtime", "wiggle-macro/wasmtime" ]
|
||||
# Support for async in the wasmtime crates.
|
||||
wasmtime_async = [ "wasmtime_integration", "wasmtime/async" ]
|
||||
|
||||
default = ["wiggle_metadata", "wasmtime_integration" ]
|
||||
|
||||
Reference in New Issue
Block a user