//@ edition:2018 | |
// test that names give to anonymous lifetimes in opaque types like `impl Future` are correctly | |
// introduced in error messages | |
use std::future::Future; | |
pub async fn foo<F, T>(_: F) | |
where | |
F: Fn(&u8) -> T, | |
T: Future<Output = ()>, | |
{ | |
} | |
pub async fn bar(_: &u8) {} | |
fn main() { | |
let _ = foo(|x| bar(x)); //~ ERROR lifetime may not live long enough | |
} |