The first commit removes a duplication in the cache branching in block_on, by introducing temporary stack variables. It would be possible to use an enum instead of these two temporary variables, but it wouldn't have much benefit (while being harder to understand).
The second commit mostly changes TryZip to store only Ok results, omitting unnecessary branching on the unpacking before returning the zipped data. Unfortunately, this changes the type signature of TryZip and related functions.
The first commit removes a duplication in the cache branching in
block_on
, by introducing temporary stack variables. It would be possible to use anenum
instead of these two temporary variables, but it wouldn't have much benefit (while being harder to understand).The second commit mostly changes
TryZip
to store onlyOk
results, omitting unnecessary branching on the unpacking before returning the zipped data. Unfortunately, this changes the type signature ofTryZip
and related functions.