Update crate to WASIp3 preview bindings#111
Update crate to WASIp3 preview bindings#111alexcrichton merged 1 commit intobytecodealliance:mainfrom
Conversation
|
This is a draft for now due to a few outstanding items:
|
|
Is the "std" feature something that could be re-introduced in the future, or is there a fundamental conflict? Rust's own std depends on wasi with the std feature disabled. That code is still using the p1-style API, but in the future would make sense to update to p3. We don't need to do anything here and now; I'm just trying to understand how things will fit together in the future. |
|
Yeah updating it to have gated "std" features should be possible, just some work that hasn't happened yet. Rust doesn't currently depend on WASIp2 yet (the 0.14 track) so that'll probably be the first jump before going to WASIp3. But yeah basically my gut is saying that we should skip no_std support for now and deal with that when libstd wants to integrate this. At the same time we'd probably want to bind blocking-style APIs for streams/futures and those would be the ones supported in no_std mode. |
7aed2ae to
0d31047
Compare
|
Ok this is now a final version of this PR suitable for review-to-merge. This is built on #118 currently and mirrors the organization there for WASIp2. |
This refactors the repository to move the WASIp2 WITs into the `wasip2` crate itself. A new `wasip3` crate is added and the CI scripts are updated to generate that crate as well. The `wasip3` crate is heavily reused from the `wasip2` crate with minor changes here and there.
This is a proof-of-concept, not currently working, of upgrading this crate to WASIp3. The various changes here are:
mainhas been branched torelease-0.14.xfor future development/releases.std::ioobjects for WASIp3.