fn left_future<B>(self) -> Either<Self, B>
    where
        B: Future<Output = Self::Output>,
        Self: Sized,
    {
        assert_future::<Self::Output, _>(Either::Left(self))
    }
Wrap this future in an `Either` future, making it the left-hand variant
of that `Either`.

This can be used in combination with the `right_future` method to write `if`
statements that evaluate to different futures in different branches.

# Examples

```
# futures::executor::block_on(async {
use futures::future::FutureExt;

let x = 6;
let future = if x < 10 {
async { true }.left_future()
} else {
async { false }.right_future()
};

assert_eq!(future.await, true);
# });
```
futures-util/src/future/future/mod.rs