Advertisement
Guest User

Untitled

a guest
Jun 25th, 2019
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.33 KB | None | 0 0
  1. #![allow(unreachable_code)]
  2. #![feature(async_await)]
  3.  
  4. fn main() {
  5. println!("{:?}", {
  6. use std::future::Future; async fn foo() { println!("this wont run"); } async fn foo2() { foo.await; } let mut state = foo2(); let waker = std::ptr::null_mut() as *mut std::task::Context; unsafe { std::pin::Pin::new_unchecked(&mut state).poll(&mut * waker) }
  7. });
  8. }
  9.  
  10.  
  11. /* ~~~~=== stderr ===~~~~
  12. Compiling playground v0.0.1 (/playground)
  13. error[E0277]: the trait bound `fn() -> impl std::future::Future {main::foo}: std::future::Future` is not satisfied
  14. --> src/main.rs:6:99
  15. |
  16. 6 | use std::future::Future; async fn foo() { println!("this wont run"); } async fn foo2() { foo.await; } let mut state = foo2(); let waker = std::ptr::null_mut() as *mut std::task::Context; unsafe { std::pin::Pin::new_unchecked(&mut state).poll(&mut * waker) }
  17. | ^^^^^^^^^ the trait `std::future::Future` is not implemented for `fn() -> impl std::future::Future {main::foo}`
  18. |
  19. = note: required by `std::future::poll_with_tls_context`
  20.  
  21. error: aborting due to previous error
  22.  
  23. For more information about this error, try `rustc --explain E0277`.
  24. error: Could not compile `playground`.
  25.  
  26. To learn more, run the command again with --verbose.
  27.  
  28. */
  29.  
  30. /* ~~~~=== stdout ===~~~~
  31.  
  32. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement