futures-enum 0.1.0

#[derive(Future, Stream, Sink, AsyncRead, AsyncWrite)] for enums.
Documentation

futures-enum

Build Status version documentation license

#[derive(Future, Stream, Sink, AsyncRead, AsyncWrite)] for enums.

Usage

Add this to your Cargo.toml:

[dependencies]
futures-enum = "0.1.0"

Now, you can use futures-enum:

use futures_enum::*;

The current version of futures-enum requires Rust nightly 2019-01-11 or later.

Examples

use futures_enum::*;

#[derive(Future, Stream, Sink, AsyncRead, AsyncWrite)]
enum Either<A, B> {
    A(A),
    B(B),
}

#[derive(Future, Stream, Sink, AsyncRead, AsyncWrite)]
enum Either3<A, B, C> {
    A(A),
    B(B),
    C(C),
}

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.