Stream: rust-toolchain

Topic: Experimental mio/tokio forks for wasip3


view this post on Zulip Jeff Parsons (Jun 17 2025 at 08:55):

Has anyone had a go at getting anything in that ecosystem working with wasip3? Or is it still a bit premature to be thinking about that?

No serious use case yet — just idly thinking about prototyping some unsanctioned stuff for $DAY_JOB.

view this post on Zulip Joel Dice (Jun 17 2025 at 13:54):

Not that I'm aware of, and I imagine adding WASIp3 support to wasi-libc/wasi-sdk would be a prerequisite for supporting it in Rust std, which in turn would be a prerequisite for supporting it in mio/tokio.

Also, I've had no luck so far getting WASIp2 support upstreamed into either mio or tokio, and I'm expecting WASIp3 to be an equally tough sell. Experimental forks should be easy enough, though.

view this post on Zulip Christof Petig (Jun 19 2025 at 16:05):

For my AUTOSAR demonstrator I gave up on Rust async support for p2, because it looked like a huge effort. The integrated spawn and block_on primitives in p3 made that port trivial with the new technology.

But for Tokio you will likely also want shared everything threads and atomics which are not part of the 0.3.0 release. :time_ticking:

view this post on Zulip Christof Petig (Jun 19 2025 at 16:09):

Perhaps 0.3 can work without requiring Tokio, if we dust off the executor abstraction crates created for tokio and smol.

view this post on Zulip Christof Petig (Jun 19 2025 at 16:12):

https://crates.io/crates/async-compact (I know there is no good main and spawn abstraction)

view this post on Zulip Lann Martin (Jun 19 2025 at 18:30):

In practice a lot of async libraries depend directly on tokio for async system interfaces (fs, net, time), and many (most?) of those should work with a single-threaded executor.

view this post on Zulip Lann Martin (Jun 19 2025 at 18:34):

Most "async compat" libraries I have seen only deal with more abstract interfaces like io and stream. I can imagine having equivalents of those for 0.3 could be useful.

view this post on Zulip Christof Petig (Jun 19 2025 at 22:21):

Christof Petig said:

https://crates.io/crates/async-compact (I know there is no good main and spawn abstraction)

Sorry, broken link, https://crates.io/crates/async-compat is the right one

view this post on Zulip Pat Hickey (Jun 20 2025 at 17:20):

Yosh, Dan and I made https://docs.rs/wstd/latest/wstd/

view this post on Zulip Pat Hickey (Jun 20 2025 at 17:20):

its intended to be a minimum viable async runtime for p2, and soon for p3

view this post on Zulip Pat Hickey (Jun 20 2025 at 17:20):

the goal isnt to compete with tokio but hopefully to show how a port should work

view this post on Zulip Pat Hickey (Jun 20 2025 at 17:21):

in the meantime its a better way to write guests than dealing with the hostcalls directly, though it has a lot of rough edges still

view this post on Zulip Pat Hickey (Jun 20 2025 at 17:21):

happy to accept patches to improve it!


Last updated: Dec 06 2025 at 05:03 UTC