Use more assert_{future,stream} functions #2020
Merged
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.
Use
assert_future
andassert_stream
annotations in almost allFutureExt
,TryFutureExt
,StreamExt
andTryStreamExt
traitfns.
My own style of working with third-party code is doing Cmd-Click
in Idea and look at signature/implementation.
I found these existing
assert_
annotations very helpful inunderstanding what this particular function does, what it expects,
what it returns, much faster than reading documentation or opening
actual future/stream implementation.
For example, there's
TryStreamExt::and_then
function:What does it do? Does it return a future or a stream? Is stream
item original stream item or returned from future? Is error
converted? Is it even
Try
object returned from this function?Now with the function body:
it's easier to infer that function returns a stream with the same
items as provided future.
So this diff extends
assert_
function to almost all functions ofthese four traits.