When called, if a the future's state is a coroutine, then call `self_destruct()` and set the state to `std::noop_coroutine`. Otherwise, do nothing.