| //@ edition:2018 | |
| use std::future::Future; | |
| use std::pin::Pin; | |
| use std::task::{Context, Poll}; | |
| fn spawn<T: Send>(_: T) {} | |
| pub struct AFuture; | |
| impl Future for AFuture{ | |
| type Output = (); | |
| fn poll(mut self: Pin<&mut Self>, _: &mut Context<'_>) -> Poll<()> { | |
| unimplemented!() | |
| } | |
| } | |
| async fn foo() { | |
| spawn(async { //~ ERROR future cannot be sent between threads safely | |
| let a = std::ptr::null_mut::<()>(); // `*mut ()` is not `Send` | |
| AFuture.await; | |
| let _a = a; | |
| }); | |
| } | |
| fn main() {} |