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
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
Add this to your Cargo.toml:
[dependencies]
one-of-futures = "0.1"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 }),
};
}