2 // ignore-android: FIXME(#10381)
4 // === GDB TESTS ==============================================================
9 // gdb-check:[...]match x {
12 // gdb-check:[...] Some(42) => 1,
18 // gdb-check:[...]match_enum(Some(12));
21 // gdb-check:[...]match x {
24 // gdb-check:[...]Some(_) => 2,
30 // gdb-check:[...]match_enum(None);
33 // gdb-check:[...]match x {
36 // gdb-check:[...]None => 3,
42 // gdb-check:[...]match_int(1);
45 // gdb-check:[...]match y {
48 // gdb-check:[...]1 => 3,
54 // gdb-check:[...]match_int(2);
57 // gdb-check:[...]match y {
60 // gdb-check:[...]_ => 4,
66 // gdb-check:[...]match_int(0);
69 // gdb-check:[...]match y {
72 // gdb-check:[...]0 => 2,
78 // gdb-check:[...]match_int(-1);
81 // gdb-check:[...]match y {
84 // gdb-check:[...]-1 => 1,
90 // gdb-check:[...]match_tuple(5, 12);
93 // gdb-check:[...]match (a, b) {
96 // gdb-check:[...](5, 12) => 3,
102 // gdb-check:[...]match_tuple(29, 1);
105 // gdb-check:[...]match (a, b) {
108 // gdb-check:[...](29, _) => 2,
114 // gdb-check:[...]match_tuple(12, 12);
117 // gdb-check:[...]match (a, b) {
120 // gdb-check:[...](_, _) => 5
126 // gdb-check:[...]match_tuple(42, 12);
129 // gdb-check:[...]match (a, b) {
132 // gdb-check:[...](42, 12) => 1,
138 // gdb-check:[...]match_tuple(1, 9);
141 // gdb-check:[...]match (a, b) {
144 // gdb-check:[...](_, 9) => 4,
152 // === CDB TESTS ==============================================================
154 // Enable line-based debugging and print lines after stepping.
155 // cdb-command: .lines -e
162 // cdb-check: [...]: fn match_enum(x: Option<u32>) -> u8 {
165 // cdb-check: [...]: match x {
168 // cdb-check: [...]: Some(42) => 1,
171 // cdb-check: [...]: }
174 // cdb-check: [...]: match_enum(Some(12));
177 // cdb-check: [...]: fn match_enum(x: Option<u32>) -> u8 {
180 // cdb-check: [...]: match x {
183 // cdb-check: [...]: Some(_) => 2,
186 // cdb-check: [...]: }
189 // cdb-check: [...]: match_enum(None);
192 // cdb-check: [...]: fn match_enum(x: Option<u32>) -> u8 {
195 // cdb-check: [...]: match x {
198 // cdb-check: [...]: None => 3,
201 // cdb-check: [...]: }
204 // cdb-check: [...]: match_int(1);
207 // cdb-check: [...]: fn match_int(y: i32) -> u16 {
210 // cdb-check: [...]: match y {
213 // cdb-check: [...]: 1 => 3,
216 // cdb-check: [...]: }
219 // cdb-check: [...]: match_int(2);
222 // cdb-check: [...]: fn match_int(y: i32) -> u16 {
225 // cdb-check: [...]: match y {
228 // cdb-check: [...]: _ => 4,
231 // cdb-check: [...]: }
234 // cdb-check: [...]: match_int(0);
237 // cdb-check: [...]: fn match_int(y: i32) -> u16 {
240 // cdb-check: [...]: match y {
243 // cdb-check: [...]: 0 => 2,
246 // cdb-check: [...]: }
249 // cdb-check: [...]: match_int(-1);
252 // cdb-check: [...]: fn match_int(y: i32) -> u16 {
255 // cdb-check: [...]: match y {
258 // cdb-check: [...]: -1 => 1,
261 // cdb-check: [...]: }
264 // cdb-check: [...]: match_tuple(5, 12);
267 // cdb-check: [...]: fn match_tuple(a: u8, b: i8) -> u32 {
270 // cdb-check: [...]: match (a, b) {
273 // cdb-check: [...]: (5, 12) => 3,
276 // cdb-check: [...]: }
279 // cdb-check: [...]: match_tuple(29, 1);
282 // cdb-check: [...]: fn match_tuple(a: u8, b: i8) -> u32 {
285 // cdb-check: [...]: match (a, b) {
288 // cdb-check: [...]: (29, _) => 2,
291 // cdb-check: [...]: }
294 // cdb-check: [...]: match_tuple(12, 12);
297 // cdb-check: [...]: fn match_tuple(a: u8, b: i8) -> u32 {
300 // cdb-check: [...]: match (a, b) {
303 // cdb-check: [...]: (_, _) => 5
306 // cdb-check: [...]: }
309 // cdb-check: [...]: match_tuple(42, 12);
312 // cdb-check: [...]: fn match_tuple(a: u8, b: i8) -> u32 {
315 // cdb-check: [...]: match (a, b) {
318 // cdb-check: [...]: (42, 12) => 1,
321 // cdb-check: [...]: }
324 // cdb-check: [...]: match_tuple(1, 9);
327 // cdb-check: [...]: fn match_tuple(a: u8, b: i8) -> u32 {
330 // cdb-check: [...]: match (a, b) {
333 // cdb-check: [...]: (_, 9) => 4,
336 // cdb-check: [...]: }
339 // cdb-check: [...]: }
342 match_enum(Some(42)); // #break
343 match_enum(Some(12));
358 fn match_enum(x: Option<u32>) -> u8 {
366 fn match_int(y: i32) -> u16 {
375 fn match_tuple(a: u8, b: i8) -> u32 {