Guest User

Untitled

a guest
Apr 23rd, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.57 KB | None | 0 0
  1. extern crate futures;
  2.  
  3. use futures::Future;
  4. use futures::future::lazy;
  5. use futures::future::ok;
  6.  
  7. fn test_send<T, E, F>(f: F) -> Box<Future<Item = T, Error = E>>
  8. where
  9. F: Future<Item = T, Error = E> + Send + 'static,
  10. {
  11. Box::new(f)
  12. }
  13.  
  14. fn main() {
  15. let f1 = lazy(|_| ok::<u32, u32>(1));
  16. test_send(f1);
  17.  
  18. test_send(lazy(|_| ok::<u32, u32>(1)));
  19.  
  20. let f2: Box<Future<Item=u32, Error=u32> + Send> = Box::new(lazy(|_| ok::<u32, u32>(1)));
  21. test_send(f2);
  22.  
  23. //let f3: Box<Future<Item=u32, Error=u32>> = Box::new(lazy(|_| ok::<u32, u32>(1)));
  24. //test_send(f3);
  25. }
Add Comment
Please, Sign In to add comment