wit-bindgen
wit-bindgen copied to clipboard
A language binding generator for WebAssembly interface types
### Summary C bindings generated by wit-bindgen 0.46.0 never call the resource drop helper when freeing a list. ### Details The C generator (`crates/c/src/lib.rs`) walks each list element when emitting...
I am using WASM components in research to produce reproducible floating-point evaluation results (with a pre-runtime NaN canonicalization pass over the WASM bytecode). In particular, I am compiling the SZ3...
Uniffi has an [okay solution](https://mozilla.github.io/uniffi-rs/latest/types/custom_types.html) to allow one to use third-party types in the bindings. This would open road, a boilerplate heavy one but a road nonetheless, to use ecosystem...
Consider a Rust file with two `generate!` macros: ```rust wit_bindgen::generate!({ inline: r#" package test:test-useful; world t { import useful:thingy/[email protected]; } "#, path: "useful_thingy_0_0_1.wasm", world: "test:test-useful/t", generate_all }); wit_bindgen::generate!({ inline: r#"...
Currently `additional_derives` can only be set globally, which feels too broad. For use cases like adding `serde` annotations it would be better if the derives could be scoped per type...
### Background I wrote this version of pread the other day: ```rust async fn pread(fd: &Descriptor, size: usize, offset: u64) -> Result { let (mut rx, future) = fd.read_via_stream(offset); let...
I'm not very satisfied with https://github.com/bytecodealliance/wit-bindgen/pull/1389 because as I wrote, other languages still leaking. I saw the existence of the following instructions which seems to be not used (or at...
@rvolosatovs and @dicej had an idea in a meeting we had today where we should have an API in this crate for converting a Rust `Future` to a WIT `future`...
The generated `mod _rt {...}` is from when we thought we could get away with not having wit-bindgen runtime in Rust, but that design changed a while ago. We should...