futures_signals
pub fn cancelable_future<A, B>( future: A, when_cancelled: B) -> (DiscardOnDrop<CancelableFutureHandle>, CancelableFuture<A, B>) where A: Future, B: FnOnce() -> A::Output,