Async Monad
This library is designed for using monads like core::Result and core::Option
in asynchronous control flow.
Wrapped Async Monad
The async_monad::async_wrapped offers the inner-async version of Result and Option.
These monads save the Future inside it, which allows you to use them synchronously and
wait at one time.
Typically, all operations over them will create a new Future, moving and cloning all
associated data, so theperformance will be (somehow much) worse than handle them manually.
The rest methods (which are tagged as async) will consume the Future and produce some
result.
Asynchronous Standard Monad Operation
The async_monad::async_traits offers the asynchronous version of std apis, which accepts
Futures and asynchronous functions.
The utility is hidden behind the async_trait feature, which is enabled by default.
Since it uses the feature which went stable since Rustc 1.75, you have to update your rustc
through rustup or disable the feature manually.