5 releases
0.1.4 | May 28, 2020 |
---|---|
0.1.3 | Nov 24, 2019 |
0.1.2 | Nov 22, 2019 |
0.1.1 | Nov 15, 2019 |
0.1.0 | Nov 15, 2019 |
#17 in #either
21 downloads per month
Used in linked-futures
20KB
290 lines
one-of-futures
Overview
This crate implements several custom future-aware OneOf
types, which behaves
similarly to Either
type,
but suitable for more than two variants.
It also exposes impl_one_of!
macro, which allows generating custom OneOf
type,
with the desired number and names of variants
Features
futures_03
enables support for futures 0.3 (core/std), enabled by default
sink
enables support for futures 0.3 (core/std)'s Sink
, enabled by default
tokio-io
enabled support for tokio 0.2's AsyncRead
and AsyncWrite
futures_01
enables support for futures 0.1 under the futures_01 module
Usage
Add this to your Cargo.toml
:
[dependencies]
one-of-futures = "0.1"
Example
use one_of_futures::impl_one_of;
impl_one_of!(MyEither;
Left,
Right
);
fn main() {
let either = match 1 {
0 => MyEither::Left(async { 1 }),
_ => MyEither::Right(async { 2 }),
};
}
Dependencies
~0–0.8MB
~12K SLoC