//@ 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) where F: Fn(&u8) -> T, T: Future, { } pub async fn bar(_: &u8) {} fn main() { let _ = foo(|x| bar(x)); //~ ERROR lifetime may not live long enough }