summaryrefslogtreecommitdiffstats
path: root/tests/ui/traits/unsend-future.rs
blob: a8367573fbdfa59e168e5fa80611226bcbf97237 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// edition:2021

// issue 108897
trait Handler {}
impl<F, Fut> Handler for F
where
    Fut: Send,
    F: FnOnce() -> Fut,
{}

fn require_handler<H: Handler>(h: H) {}

async fn handler() {
    let a = &1 as *const i32;
    async {}.await;
    let b = a;
}

fn main() {
    require_handler(handler)
     //~^ ERROR future cannot be sent between threads safely
}