2024-02-16 14:02:50 -06:00
|
|
|
//@ edition: 2021
|
|
|
|
//@ run-rustfix
|
2023-04-25 13:59:16 -05:00
|
|
|
|
|
|
|
#![allow(unused)]
|
|
|
|
|
|
|
|
use std::future::Future;
|
|
|
|
use std::pin::Pin;
|
|
|
|
use std::task::{Context, Poll};
|
|
|
|
|
|
|
|
#[derive(Clone)]
|
|
|
|
struct SharedFuture;
|
|
|
|
|
|
|
|
impl Future for SharedFuture {
|
|
|
|
type Output = ();
|
|
|
|
|
|
|
|
fn poll(self: Pin<&mut Self>, _: &mut Context<'_>) -> Poll<<Self as Future>::Output> {
|
|
|
|
todo!()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
async fn foo() {
|
|
|
|
let f = SharedFuture;
|
|
|
|
f.clone().await;
|
|
|
|
f.await;
|
|
|
|
//~^ ERROR use of moved value
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {}
|