20 lines
341 B
Rust
20 lines
341 B
Rust
|
//@ edition:2018
|
||
|
//@ check-pass
|
||
|
|
||
|
#![feature(unboxed_closures)]
|
||
|
use std::future::Future;
|
||
|
|
||
|
async fn wrapper<F>(f: F)
|
||
|
where for<'a> F: FnOnce<(&'a mut i32,)>,
|
||
|
for<'a> <F as FnOnce<(&'a mut i32,)>>::Output: Future<Output=()> + 'a
|
||
|
{
|
||
|
let mut i = 41;
|
||
|
f(&mut i).await;
|
||
|
}
|
||
|
|
||
|
async fn add_one(i: &mut i32) {
|
||
|
*i = *i + 1;
|
||
|
}
|
||
|
|
||
|
fn main() {}
|