Stream: git-wasmtime

Topic: wasmtime / issue #11161 Fill out implementations for `{Fu...


view this post on Zulip Wasmtime GitHub notifications bot (Jun 30 2025 at 19:52):

alexcrichton opened issue #11161:

These are being added in #11123 but won't get filled out as part of #11127. I wanted to file a tracking issue to track their implementation.

cc @dicej

view this post on Zulip Wasmtime GitHub notifications bot (Jun 30 2025 at 19:52):

alexcrichton added the wasm-proposal:component-model-async label to Issue #11161.

view this post on Zulip Wasmtime GitHub notifications bot (Sep 09 2025 at 07:47):

rvolosatovs commented on issue #11161:

Is this issue still relevant, @alexcrichton ?

view this post on Zulip Wasmtime GitHub notifications bot (Sep 09 2025 at 13:28):

dicej commented on issue #11161:

Yes, it is still relevant.

view this post on Zulip Wasmtime GitHub notifications bot (Sep 15 2025 at 15:55):

alexcrichton assigned alexcrichton to issue #11161.

view this post on Zulip Wasmtime GitHub notifications bot (Dec 09 2025 at 20:47):

alexcrichton commented on issue #11161:

#12142 made progress here but still to-do is the ability to create a {Future,Stream}Any directly and also the ability to read from them, both of which would use Val. This, at the current time, would manifest as similar {Future,Stream}{Producer,Consumer} traits using Val, but that's a lot of duplication which doesn't quite seem worth it just yet

view this post on Zulip Wasmtime GitHub notifications bot (May 03 2026 at 10:55):

Game4Freak commented on issue #11161:

_I really needed this so i searched some other issues and did some custom modifications to test it out._

Considering #7701 by implementing Lift, Lower and ComponentType on Val, Val can already be used with the current Future and Stream implementation.

Read
FutureAny::try_into_future_reader::<Val>(future_any)
StreamAny::try_into_stream_reader::<Val>(stream_any)

Write (create)

let reader = FutureReader::new(store, producer_val)?;
FutureReader::try_into_future_any(reader, store)
let reader = StreamReader::new(store, producer_val)?;
StreamReader::try_into_stream_any(reader, store)

So by implementing Lift, Lower and ComponentType on Val it can already work with future and streams. This would also provide the benifits mentioned in #7701.
Might not be the intended way mentioned here, but it works in my modification of wasmtime.


Last updated: May 03 2026 at 21:15 UTC