| #![feature(async_closure)] |
| //@ only-cdb |
| //@ compile-flags: -g |
| //@ edition: 2021 |
| |
| // === CDB TESTS ================================================================================== |
| |
| // cdb-command: g |
| // cdb-command: dx closure |
| // cdb-check:closure [Type: coroutine_closure::main::closure_env$0] |
| // cdb-check: [+0x[...]] y : "" [Type: alloc::string::String] |
| // cdb-check: [+0x[...]] x : "" [Type: alloc::string::String] |
| #![allow(unused)] |
| fn main() { |
| let x = String::new(); |
| let y = String::new(); |
| let closure = async move || { |
| drop(y); |
| println!("{x}"); |
| }; |
| |
| _zzz(); // #break |
| |
| std::hint::black_box(closure); |
| } |
| |
| #[inline(never)] |
| fn _zzz() { |
| () |
| } |