Would it make sense for the wasi crate to have specialized (per-world) macros for defining exports? These would wrap wit-bindgen::generate with appropriate exports:, with:, etc.
Implementing WASI exports correctly is verbose and requires a somewhat-deep understanding of wit-bindgen features, especially if you want to reuse the types from this crate: wit_bindgen::generate!(...
In this example the entry point for the proxy world is generated via wit-bindgen like so: mod bindings; pub use bindings::wasi::http::types::{IncomingRequest, ResponseOutparam}; struct Component; i...
This commit is unfortunately a bit of whiplash for Rust users as it transitions the wit_bindgen::generate! macro to what it was a few months ago in terms of how exports work. Before describing that...