Crate percolate[][src]

Expand description

Yet another async utility library.

About the Documentation

RFC 2119 Blurb (modified stylization)

The key words must, must not, required, shall, shall not, should, should not, recommended, may, and OPTIONAL in this document are to be interpreted as described in RFC 2119.

Sets of Items by Partial Names

Since this crate contains many traits which often follow naming patterns, sets of these items are sometimes referred to by parts of their name. In particular, in order of descending precedence:

  • Part traits -> traits with “Part” in their name
  • Part traits -> traits that do not have “Part” in their name
  • Part1/Part2 -> traits with “Part1” OR “Part2” in their name in an alternatives slot that can have either
  • Part1 Part2 -> traits with “Part1” AND “Part2” in their name

When these phrases appear in a module of this crate, they only refer to types exported there unless otherwise specified.


Into Ref/Mut traits” includes RefProjection and RefProjectionMut, but neither IntoProjection nor ProjectionMut (as Ref can’t be trailing).



A few types needed to implement custom delegate logic on named types on stable.


MutPredicates are RefProjections towards bool.
MutPredicates are MutProjections towards bool.


Projections asynchronously transform an input A into an output B.


Stream utilities.