//@ compile-flags:-g
//@ edition:2021
//@ ignore-backends: gcc
//@ min-apple-lldb-version: 2210
//@ min-llvm-lldb-version: 21.0.0

// === GDB TESTS ===================================================================================

//@ gdb-command:run
//@ gdb-command:print test
//@ gdb-check:$1 = captured_fields_1::main::{closure_env#0} {_ref__my_ref__my_field1: 0x[...]}
//@ gdb-command:continue
//@ gdb-command:print test
//@ gdb-check:$2 = captured_fields_1::main::{closure_env#1} {_ref__my_ref__my_field2: 0x[...]}
//@ gdb-command:continue
//@ gdb-command:print test
//@ gdb-check:$3 = captured_fields_1::main::{closure_env#2} {_ref__my_ref: 0x[...]}
//@ gdb-command:continue
//@ gdb-command:print test
//@ gdb-check:$4 = captured_fields_1::main::{closure_env#3} {my_ref: 0x[...]}
//@ gdb-command:continue
//@ gdb-command:print test
//@ gdb-check:$5 = captured_fields_1::main::{closure_env#4} {my_var__my_field2: 22}
//@ gdb-command:continue
//@ gdb-command:print test
//@ gdb-check:$6 = captured_fields_1::main::{closure_env#5} {my_var: captured_fields_1::MyStruct {my_field1: 11, my_field2: 22}}
//@ gdb-command:continue

// === LLDB TESTS ==================================================================================

//@ lldb-command:run
//@ lldb-command:v test
//@ lldb-check:(captured_fields_1::main::{closure_env#0}) test = {_ref__my_ref__my_field1:0x[...]}
//@ lldb-command:continue
//@ lldb-command:v test
//@ lldb-check:(captured_fields_1::main::{closure_env#1}) test = {_ref__my_ref__my_field2:0x[...]}
//@ lldb-command:continue
//@ lldb-command:v test
//@ lldb-check:(captured_fields_1::main::{closure_env#2}) test = {_ref__my_ref:0x[...]}
//@ lldb-command:continue
//@ lldb-command:v test
//@ lldb-check:(captured_fields_1::main::{closure_env#3}) test = {my_ref:{my_field1:11, my_field2:22}}
//@ lldb-command:continue
//@ lldb-command:v test
//@ lldb-check:(captured_fields_1::main::{closure_env#4}) test = {my_var__my_field2:22}
//@ lldb-command:continue
//@ lldb-command:v test
//@ lldb-check:(captured_fields_1::main::{closure_env#5}) test = {my_var:{my_field1:11, my_field2:22}}
//@ lldb-command:continue

#![allow(unused)]

struct MyStruct {
    my_field1: u32,
    my_field2: u32,
}

fn main() {
    let mut my_var = MyStruct { my_field1: 11, my_field2: 22 };
    let my_ref = &mut my_var;

    let test = || {
        let a = &mut my_ref.my_field1;
    };

    _zzz(); // #break

    let test = || {
        let a = &my_ref.my_field2;
    };

    _zzz(); // #break

    let test = || {
        let a = &my_ref;
    };

    _zzz(); // #break

    let test = || {
        let a = my_ref;
    };

    _zzz(); // #break

    let test = move || {
        let a = my_var.my_field2;
    };

    _zzz(); // #break

    let test = || {
        let a = my_var;
    };

    _zzz(); // #break
}

fn _zzz() {}
