My understanding is that WASIp3 is currently not supported, which is very much expected. I can also see that there's a p3 branch and a p3 PR.
I'm creating this ticket mostly to have something to track and maybe better understand the plan 🙏
Just as a snapshot, when you try to use wstd with the wasip2 build target and wasip3 async WIT interfaces, everything builds and runs until an async host interface is called, where the host panics with something akin to:
thread '<unnamed>' (1) panicked at /home/sebastian/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wit-bindgen-0.51.0/src/rt/async_support/waitable.rs:193:13:
assertion failed: !task.is_null()
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Based on a prior comment, my understanding is that this can be worked on now and will be tied to the wasm32-wasip3 target.
Please let me know if I got anything wrong. If and when you folks have timelines, I would love to hear.
Thanks for all your great work 🙏
(On a tangent, with some mio WASIp2 support now in place, I was also wondering what the overarching plan is? If I understood the comms correctly, wstd was at least initially planned as a stop gap. The readme still raads: It exists primarily to enable people to write async-based applications in Rust before async-std, smol, or tokio land support for Wasm Components and WASI 0.2. Once those runtimes land support, it is recommended users switch to use those instead.).
My understanding is that WASIp3 is currently not supported, which is very much expected. I can also see that there's a
p3branch and ap3PR.I'm creating this ticket mostly to have something to track and maybe better understand the plan 🙏
Just as a snapshot, when you try to use wstd with the wasip2 build target and wasip3 async WIT interfaces, everything builds and runs until an async host interface is called, where the host panics with something akin to:
Based on a prior comment, my understanding is that this can be worked on now and will be tied to the
wasm32-wasip3target.Please let me know if I got anything wrong. If and when you folks have timelines, I would love to hear.
Thanks for all your great work 🙏
(On a tangent, with some mio WASIp2 support now in place, I was also wondering what the overarching plan is? If I understood the comms correctly, wstd was at least initially planned as a stop gap. The readme still raads:
It exists primarily to enable people to write async-based applications in Rust before async-std, smol, or tokio land support for Wasm Components and WASI 0.2. Once those runtimes land support, it is recommended users switch to use those instead.).