//@ compile-flags:-g
//@ disable-gdb-pretty-printers
//@ ignore-backends: gcc

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

//@ gdb-command:run

//@ gdb-command:print int_int
//@ gdb-check:$1 = generic_struct::AGenericStruct<i32, i32> {key: 0, value: 1}
//@ gdb-command:print int_float
//@ gdb-check:$2 = generic_struct::AGenericStruct<i32, f64> {key: 2, value: 3.5}
//@ gdb-command:print float_int
//@ gdb-check:$3 = generic_struct::AGenericStruct<f64, i32> {key: 4.5, value: 5}
//@ gdb-command:print float_int_float
//@ gdb-check:$4 = generic_struct::AGenericStruct<f64, generic_struct::AGenericStruct<i32, f64>> {key: 6.5, value: generic_struct::AGenericStruct<i32, f64> {key: 7, value: 8.5}}

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

//@ lldb-command:run

//@ lldb-command:v int_int
//@ lldb-check:[...]AGenericStruct<int, int>) int_int = { key = 0 value = 1 }
//@ lldb-command:v int_float
//@ lldb-check:[...]AGenericStruct<int, double>) int_float = { key = 2 value = 3.5 }
//@ lldb-command:v float_int
//@ lldb-check:[...]AGenericStruct<double, int>) float_int = { key = 4.5 value = 5 }

//@ lldb-command:v float_int_float
//@ lldb-check:[...]AGenericStruct<double, generic_struct::AGenericStruct<int, double> >) float_int_float = { key = 6.5 value = { key = 7 value = 8.5 } }

// === CDB TESTS ===================================================================================

//@ cdb-command:g

//@ cdb-command:dx int_int
//@ cdb-check:int_int          [Type: generic_struct::AGenericStruct<i32,i32>]
//@ cdb-check:[...]key              : 0 [Type: int]
//@ cdb-check:[...]value            : 1 [Type: int]
//@ cdb-command:dx int_float
//@ cdb-check:int_float        [Type: generic_struct::AGenericStruct<i32,f64>]
//@ cdb-check:[...]key              : 2 [Type: int]
//@ cdb-check:[...]value            : 3.500000 [Type: double]
//@ cdb-command:dx float_int
//@ cdb-check:float_int        [Type: generic_struct::AGenericStruct<f64,i32>]
//@ cdb-check:[...]key              : 4.500000 [Type: double]
//@ cdb-check:[...]value            : 5 [Type: int]
//@ cdb-command:dx float_int_float
//@ cdb-check:float_int_float  [Type: generic_struct::AGenericStruct<f64,generic_struct::AGenericStruct<i32,f64> >]
//@ cdb-check:[...]key              : 6.500000 [Type: double]
//@ cdb-check:[...]value            [Type: generic_struct::AGenericStruct<i32,f64>]


struct AGenericStruct<TKey, TValue> {
    key: TKey,
    value: TValue
}

fn main() {

    let int_int = AGenericStruct { key: 0, value: 1 };
    let int_float = AGenericStruct { key: 2, value: 3.5f64 };
    let float_int = AGenericStruct { key: 4.5f64, value: 5 };
    let float_int_float = AGenericStruct {
        key: 6.5f64,
        value: AGenericStruct { key: 7, value: 8.5f64 },
    };

    zzz(); // #break
}

fn zzz() { () }
