either_future/
futures03.rs

1use crate::EitherFuture;
2use futures_util::future::Either;
3
4impl<LeftFuture, RightFuture> From<Either<LeftFuture, RightFuture>> for EitherFuture<LeftFuture, RightFuture> {
5	fn from(either: Either<LeftFuture, RightFuture>) -> Self {
6		match either {
7			Either::Left(left) => EitherFuture::left(left),
8			Either::Right(right) => EitherFuture::right(right),
9		}
10	}
11}
12
13impl<LeftFuture, RightFuture> From<EitherFuture<LeftFuture, RightFuture>> for Either<LeftFuture, RightFuture> {
14	fn from(either_future: EitherFuture<LeftFuture, RightFuture>) -> Self {
15		match either_future.0 {
16			either::Either::Left(left) => Either::Left(left),
17			either::Either::Right(right) => Either::Right(right),
18		}
19	}
20}