Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This pulls in the new `witx` 0.9 crate which notably includes WebAssembly/WASI#395. This is a large refactoring of how witx signatures are processed and a large update to the actual syntax of the witx ABIs themselves. This commit adjusts to all the new `witx` APIs and also tweaks idioms in a few locations as well. Code generation is now less custom to Rust and instead tries to match almost exactly what the `witx` crate tells us to generate. Additionally the representation of types is chosen to more closely align with interface types in the future where it's impossible to pass invalid values to the outside world. Notable changes here are: * `enum`-like values are now newtype wrappers around integers to prevent invalid values from flowing out. * Error traits are now implement directly for the `Errno` wrapper. * The module containing the raw functions now exclusively uses i32/i64 types and doesn't try to use convenience types in Rust.
- Loading branch information