]>
Commit | Line | Data |
---|---|---|
a1dfa0c6 XL |
1 | // Some versions of the non-rust-enabled LLDB print the wrong generic |
2 | // parameter type names in this test. | |
3 | // rust-lldb | |
1a4d82fc JJ |
4 | |
5 | // compile-flags:-g | |
6 | ||
7 | // === GDB TESTS =================================================================================== | |
8 | ||
9 | // gdb-command:run | |
10 | ||
11 | // gdb-command:print int_int | |
c30ab7b3 SL |
12 | // gdbg-check:$1 = {key = 0, value = 1} |
13 | // gdbr-check:$1 = generic_struct::AGenericStruct<i32, i32> {key: 0, value: 1} | |
1a4d82fc | 14 | // gdb-command:print int_float |
c30ab7b3 SL |
15 | // gdbg-check:$2 = {key = 2, value = 3.5} |
16 | // gdbr-check:$2 = generic_struct::AGenericStruct<i32, f64> {key: 2, value: 3.5} | |
1a4d82fc | 17 | // gdb-command:print float_int |
c30ab7b3 SL |
18 | // gdbg-check:$3 = {key = 4.5, value = 5} |
19 | // gdbr-check:$3 = generic_struct::AGenericStruct<f64, i32> {key: 4.5, value: 5} | |
1a4d82fc | 20 | // gdb-command:print float_int_float |
c30ab7b3 SL |
21 | // gdbg-check:$4 = {key = 6.5, value = {key = 7, value = 8.5}} |
22 | // 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}} | |
1a4d82fc JJ |
23 | |
24 | // === LLDB TESTS ================================================================================== | |
25 | ||
26 | // lldb-command:run | |
27 | ||
28 | // lldb-command:print int_int | |
0bf4aa26 XL |
29 | // lldbg-check:[...]$0 = AGenericStruct<i32, i32> { key: 0, value: 1 } |
30 | // lldbr-check:(generic_struct::AGenericStruct<i32, i32>) int_int = AGenericStruct<i32, i32> { key: 0, value: 1 } | |
1a4d82fc | 31 | // lldb-command:print int_float |
0bf4aa26 XL |
32 | // lldbg-check:[...]$1 = AGenericStruct<i32, f64> { key: 2, value: 3.5 } |
33 | // lldbr-check:(generic_struct::AGenericStruct<i32, f64>) int_float = AGenericStruct<i32, f64> { key: 2, value: 3.5 } | |
1a4d82fc | 34 | // lldb-command:print float_int |
0bf4aa26 XL |
35 | // lldbg-check:[...]$2 = AGenericStruct<f64, i32> { key: 4.5, value: 5 } |
36 | // lldbr-check:(generic_struct::AGenericStruct<f64, i32>) float_int = AGenericStruct<f64, i32> { key: 4.5, value: 5 } | |
1a4d82fc JJ |
37 | |
38 | // lldb-command:print float_int_float | |
0bf4aa26 XL |
39 | // lldbg-check:[...]$3 = AGenericStruct<f64, generic_struct::AGenericStruct<i32, f64>> { key: 6.5, value: AGenericStruct<i32, f64> { key: 7, value: 8.5 } } |
40 | // 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 } } | |
1a4d82fc | 41 | |
136023e0 XL |
42 | // === CDB TESTS =================================================================================== |
43 | ||
44 | // cdb-command:g | |
45 | ||
46 | // cdb-command:dx int_int | |
47 | // cdb-check:int_int [Type: generic_struct::AGenericStruct<i32,i32>] | |
48 | // cdb-check:[...]key : 0 [Type: int] | |
49 | // cdb-check:[...]value : 1 [Type: int] | |
50 | // cdb-command:dx int_float | |
51 | // cdb-check:int_float [Type: generic_struct::AGenericStruct<i32,f64>] | |
52 | // cdb-check:[...]key : 2 [Type: int] | |
53 | // cdb-check:[...]value : 3.500000 [Type: double] | |
54 | // cdb-command:dx float_int | |
55 | // cdb-check:float_int [Type: generic_struct::AGenericStruct<f64,i32>] | |
56 | // cdb-check:[...]key : 4.500000 [Type: double] | |
57 | // cdb-check:[...]value : 5 [Type: int] | |
58 | // cdb-command:dx float_int_float | |
59 | // cdb-check:float_int_float [Type: generic_struct::AGenericStruct<f64,generic_struct::AGenericStruct<i32,f64> >] | |
60 | // cdb-check:[...]key : 6.500000 [Type: double] | |
61 | // cdb-check:[...]value [Type: generic_struct::AGenericStruct<i32,f64>] | |
62 | ||
1a4d82fc | 63 | |
b039eaaf | 64 | #![feature(omit_gdb_pretty_printer_section)] |
1a4d82fc JJ |
65 | #![omit_gdb_pretty_printer_section] |
66 | ||
67 | struct AGenericStruct<TKey, TValue> { | |
68 | key: TKey, | |
69 | value: TValue | |
70 | } | |
71 | ||
72 | fn main() { | |
73 | ||
85aaf69f SL |
74 | let int_int = AGenericStruct { key: 0, value: 1 }; |
75 | let int_float = AGenericStruct { key: 2, value: 3.5f64 }; | |
76 | let float_int = AGenericStruct { key: 4.5f64, value: 5 }; | |
1a4d82fc JJ |
77 | let float_int_float = AGenericStruct { |
78 | key: 6.5f64, | |
85aaf69f | 79 | value: AGenericStruct { key: 7, value: 8.5f64 }, |
1a4d82fc JJ |
80 | }; |
81 | ||
82 | zzz(); // #break | |
83 | } | |
84 | ||
85 | fn zzz() { () } |