cm-async: Start to fill out {Future,Stream}Any
#12142
Merged
+1,154
−257
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This commit is the first step down the road of filling out the preexisting, but empty/buggy,
FutureAnyandStreamAnytypes. These are intended to behave similarly toResourceAnywhere the embedder doesn't have static knowledge ahead of time about the type of the future/stream in use. Changes made here are:ComponentType for {Stream,Future}Reader<T>now correctly typecheck theT.*Anytypes now properly typechecks the payload type against the expected type.{Future,Stream}Anynow live in their own file with the matrix of conversions to the typed variants.closemethod was added to*Anytypes.These types are not currently directly constructible but this will likely be relaxed in the future. Additionally the host can't actually use these values without knowing the type, which is another restriction that will be relaxed in the future (aka implemented).
cc #11161