wit-bindgen
wit-bindgen copied to clipboard
A language binding generator for WebAssembly interface types
Add `RustWasm::generate_to_out_dir` that parses the `wit` folder, selects a world, generates bindings and places them in a file in the `OUT_DIR`. `generate_to_out_dir_modify` allows modifying the generated file. Sample `build.rs` ```rs...
This PR adds enough code gen to support the simple-future wit runtime test. As for the async PR, this is pretty much the minimum PR in terms of future support....
There's currently nothing in the code generated for Go to prevent the programmer from issuing multiple concurrent reads or writes on the same stream or future, which is currently disallowed...
`wit-bindgen-go` was written by a Go novice (me) and could use some feedback from experienced Go developers regarding API idioms. Here are some examples of potential improvements: - Make functions...
When a stream or future payload type includes (directly or indirectly) resource, stream, or future handles, writing such payloads involves lowering those handles into the canonical ABI representation with the...
This commit fixes async import emissions in the case of lowered args and lifted resutls. There were a few bugs to fix: - AsyncTaskReturn was not being emitted - Implementation...
Code such as this: ```rust fn main() { let (tx, rx) = wit_future::new(|| Ok(None)); drop(tx); drop(rx); } ``` will currently fail with: ``` thread 'main' (1) panicked at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wit-bindgen-0.48.1/src/rt/async_support/waitable.rs:193:13: assertion...
While generic async libraries like `futures` can be pulled in for a wide variety of features I think it would be helpful to cover at least a couple of the...