1 // ignore-tidy-linelength
3 // Some versions of the non-rust-enabled LLDB print the wrong generic
4 // parameter type names in this test.
9 // === GDB TESTS ===================================================================================
13 // gdb-command:print int_int
14 // gdbg-check:$1 = {key = 0, value = 1}
15 // gdbr-check:$1 = generic_struct::AGenericStruct<i32, i32> {key: 0, value: 1}
16 // gdb-command:print int_float
17 // gdbg-check:$2 = {key = 2, value = 3.5}
18 // gdbr-check:$2 = generic_struct::AGenericStruct<i32, f64> {key: 2, value: 3.5}
19 // gdb-command:print float_int
20 // gdbg-check:$3 = {key = 4.5, value = 5}
21 // gdbr-check:$3 = generic_struct::AGenericStruct<f64, i32> {key: 4.5, value: 5}
22 // gdb-command:print float_int_float
23 // gdbg-check:$4 = {key = 6.5, value = {key = 7, value = 8.5}}
24 // gdbr-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}}
26 // === LLDB TESTS ==================================================================================
30 // lldb-command:print int_int
31 // lldbg-check:[...]$0 = AGenericStruct<i32, i32> { key: 0, value: 1 }
32 // lldbr-check:(generic_struct::AGenericStruct<i32, i32>) int_int = AGenericStruct<i32, i32> { key: 0, value: 1 }
33 // lldb-command:print int_float
34 // lldbg-check:[...]$1 = AGenericStruct<i32, f64> { key: 2, value: 3.5 }
35 // lldbr-check:(generic_struct::AGenericStruct<i32, f64>) int_float = AGenericStruct<i32, f64> { key: 2, value: 3.5 }
36 // lldb-command:print float_int
37 // lldbg-check:[...]$2 = AGenericStruct<f64, i32> { key: 4.5, value: 5 }
38 // lldbr-check:(generic_struct::AGenericStruct<f64, i32>) float_int = AGenericStruct<f64, i32> { key: 4.5, value: 5 }
40 // lldb-command:print float_int_float
41 // lldbg-check:[...]$3 = AGenericStruct<f64, generic_struct::AGenericStruct<i32, f64>> { key: 6.5, value: AGenericStruct<i32, f64> { key: 7, value: 8.5 } }
42 // lldbr-check:(generic_struct::AGenericStruct<f64, generic_struct::AGenericStruct<i32, f64>>) float_int_float = AGenericStruct<f64, generic_struct::AGenericStruct<i32, f64>> { key: 6.5, value: AGenericStruct<i32, f64> { key: 7, value: 8.5 } }
45 #![feature(omit_gdb_pretty_printer_section)]
46 #![omit_gdb_pretty_printer_section]
48 struct AGenericStruct<TKey, TValue> {
55 let int_int = AGenericStruct { key: 0, value: 1 };
56 let int_float = AGenericStruct { key: 2, value: 3.5f64 };
57 let float_int = AGenericStruct { key: 4.5f64, value: 5 };
58 let float_int_float = AGenericStruct {
60 value: AGenericStruct { key: 7, value: 8.5f64 },