pub fn maybe_done<Fut: Future>(future: Fut) -> MaybeDone<Fut> {
    assert_future::<(), _>(MaybeDone::Future(future))
}
Wraps a future into a `MaybeDone`

# Examples

```
# futures::executor::block_on(async {
use core::pin::pin;

use futures::future;

let future = future::maybe_done(async { 5 });
let mut future = pin!(future);
assert_eq!(future.as_mut().take_output(), None);
let () = future.as_mut().await;
assert_eq!(future.as_mut().take_output(), Some(5));
assert_eq!(future.as_mut().take_output(), None);
# });
```
futures-util/src/future/maybe_done.rs