1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
use futures_core::task;
if_std! {
use futures_core::future::{Future, FutureObj};
use std::boxed::Box;
}
pub trait ContextExt {
#[cfg(feature = "std")]
fn spawn<Fut>(&mut self, future: Fut)
where Fut: Future<Output = ()> + 'static + Send;
}
impl<'a> ContextExt for task::Context<'a> {
#[cfg(feature = "std")]
fn spawn<Fut>(&mut self, future: Fut)
where Fut: Future<Output = ()> + 'static + Send
{
self.executor().spawn_obj(FutureObj::new(Box::new(future))).unwrap()
}
}