Handle placeholder regions in NLL type outlive constraints

This commit is contained in:
Matthew Jasper 2021-11-26 22:06:08 +00:00
parent 454cc5fb86
commit 2a83c11d4d
2 changed files with 33 additions and 1 deletions

View file

@ -0,0 +1,19 @@
// 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() {}