//@ aux-build:block-on.rs //@ edition:2021 #![feature(async_closure)] extern crate block_on; // Make sure that we can't make an async closure that evaluates to a self-borrow. // i.e. that the generator may reference captures, but the future's return type can't. fn main() { block_on::block_on(async { let s = String::new(); let x = async move || -> &String { &s }; //~^ ERROR lifetime may not live long enough let s = String::new(); let x = async move || { &s }; //~^ ERROR lifetime may not live long enough }); }