]>
Commit | Line | Data |
---|---|---|
ba9703b0 XL |
1 | // MIR for `full_tested_match` after PromoteTemps |
2 | ||
3 | fn full_tested_match() -> () { | |
4 | let mut _0: (); // return place in scope 0 at $DIR/match_false_edges.rs:14:28: 14:28 | |
5 | let mut _1: (i32, i32); // in scope 0 at $DIR/match_false_edges.rs:15:13: 19:6 | |
6 | let mut _2: std::option::Option<i32>; // in scope 0 at $DIR/match_false_edges.rs:15:19: 15:27 | |
7 | let mut _3: isize; // in scope 0 at $DIR/match_false_edges.rs:16:9: 16:16 | |
8 | let mut _4: &std::option::Option<i32>; // in scope 0 at $DIR/match_false_edges.rs:15:19: 15:27 | |
9 | let _5: i32; // in scope 0 at $DIR/match_false_edges.rs:16:14: 16:15 | |
10 | let _6: &i32; // in scope 0 at $DIR/match_false_edges.rs:16:14: 16:15 | |
11 | let mut _7: bool; // in scope 0 at $DIR/match_false_edges.rs:16:20: 16:27 | |
12 | let mut _8: i32; // in scope 0 at $DIR/match_false_edges.rs:16:35: 16:36 | |
13 | let _9: i32; // in scope 0 at $DIR/match_false_edges.rs:17:14: 17:15 | |
14 | let mut _10: i32; // in scope 0 at $DIR/match_false_edges.rs:17:24: 17:25 | |
15 | let mut _11: &std::option::Option<i32>; // in scope 0 at $DIR/match_false_edges.rs:16:14: 16:15 | |
16 | scope 1 { | |
17 | } | |
18 | scope 2 { | |
19 | debug x => _5; // in scope 2 at $DIR/match_false_edges.rs:16:14: 16:15 | |
20 | debug x => _6; // in scope 2 at $DIR/match_false_edges.rs:16:14: 16:15 | |
21 | } | |
22 | scope 3 { | |
23 | debug y => _9; // in scope 3 at $DIR/match_false_edges.rs:17:14: 17:15 | |
24 | } | |
25 | ||
26 | bb0: { | |
f9f354fc XL |
27 | StorageLive(_1); // scope 0 at $DIR/match_false_edges.rs:15:13: 19:6 |
28 | StorageLive(_2); // scope 0 at $DIR/match_false_edges.rs:15:19: 15:27 | |
1b1a35ee | 29 | _2 = Option::<i32>::Some(const 42_i32); // scope 0 at $DIR/match_false_edges.rs:15:19: 15:27 |
f9f354fc XL |
30 | FakeRead(ForMatchedPlace, _2); // scope 0 at $DIR/match_false_edges.rs:15:19: 15:27 |
31 | _3 = discriminant(_2); // scope 0 at $DIR/match_false_edges.rs:16:9: 16:16 | |
f035d41b | 32 | switchInt(move _3) -> [0_isize: bb2, 1_isize: bb3, otherwise: bb5]; // scope 0 at $DIR/match_false_edges.rs:16:9: 16:16 |
ba9703b0 XL |
33 | } |
34 | ||
35 | bb1 (cleanup): { | |
f9f354fc | 36 | resume; // scope 0 at $DIR/match_false_edges.rs:14:1: 20:2 |
ba9703b0 XL |
37 | } |
38 | ||
39 | bb2: { | |
f035d41b | 40 | _1 = (const 3_i32, const 3_i32); // scope 0 at $DIR/match_false_edges.rs:18:17: 18:23 |
f9f354fc | 41 | goto -> bb11; // scope 0 at $DIR/match_false_edges.rs:15:13: 19:6 |
ba9703b0 XL |
42 | } |
43 | ||
44 | bb3: { | |
f035d41b | 45 | falseEdge -> [real: bb6, imaginary: bb4]; // scope 0 at $DIR/match_false_edges.rs:16:9: 16:16 |
ba9703b0 XL |
46 | } |
47 | ||
48 | bb4: { | |
f035d41b | 49 | falseEdge -> [real: bb10, imaginary: bb2]; // scope 0 at $DIR/match_false_edges.rs:17:9: 17:16 |
ba9703b0 XL |
50 | } |
51 | ||
52 | bb5: { | |
f9f354fc | 53 | unreachable; // scope 0 at $DIR/match_false_edges.rs:15:19: 15:27 |
ba9703b0 XL |
54 | } |
55 | ||
56 | bb6: { | |
f9f354fc XL |
57 | StorageLive(_6); // scope 0 at $DIR/match_false_edges.rs:16:14: 16:15 |
58 | _11 = const full_tested_match::promoted[0]; // scope 0 at $DIR/match_false_edges.rs:16:14: 16:15 | |
ba9703b0 XL |
59 | // ty::Const |
60 | // + ty: &std::option::Option<i32> | |
1b1a35ee | 61 | // + val: Unevaluated(WithOptConstParam { did: DefId(0:5 ~ match_false_edges[317d]::full_tested_match), const_param_did: None }, [], Some(promoted[0])) |
ba9703b0 XL |
62 | // mir::Constant |
63 | // + span: $DIR/match_false_edges.rs:16:14: 16:15 | |
1b1a35ee | 64 | // + literal: Const { ty: &std::option::Option<i32>, val: Unevaluated(WithOptConstParam { did: DefId(0:5 ~ match_false_edges[317d]::full_tested_match), const_param_did: None }, [], Some(promoted[0])) } |
f9f354fc XL |
65 | _6 = &(((*_11) as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:16:14: 16:15 |
66 | _4 = &shallow _2; // scope 0 at $DIR/match_false_edges.rs:15:19: 15:27 | |
67 | StorageLive(_7); // scope 0 at $DIR/match_false_edges.rs:16:20: 16:27 | |
3dfed10e | 68 | _7 = guard() -> [return: bb7, unwind: bb1]; // scope 0 at $DIR/match_false_edges.rs:16:20: 16:27 |
ba9703b0 XL |
69 | // mir::Constant |
70 | // + span: $DIR/match_false_edges.rs:16:20: 16:25 | |
71 | // + literal: Const { ty: fn() -> bool {guard}, val: Value(Scalar(<ZST>)) } | |
72 | } | |
73 | ||
74 | bb7: { | |
f9f354fc | 75 | switchInt(move _7) -> [false: bb9, otherwise: bb8]; // scope 0 at $DIR/match_false_edges.rs:16:20: 16:27 |
ba9703b0 XL |
76 | } |
77 | ||
78 | bb8: { | |
f035d41b | 79 | StorageDead(_7); // scope 0 at $DIR/match_false_edges.rs:16:36: 16:37 |
f9f354fc XL |
80 | FakeRead(ForMatchGuard, _4); // scope 0 at $DIR/match_false_edges.rs:16:26: 16:27 |
81 | FakeRead(ForGuardBinding, _6); // scope 0 at $DIR/match_false_edges.rs:16:26: 16:27 | |
82 | StorageLive(_5); // scope 0 at $DIR/match_false_edges.rs:16:14: 16:15 | |
83 | _5 = ((_2 as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:16:14: 16:15 | |
84 | StorageLive(_8); // scope 2 at $DIR/match_false_edges.rs:16:35: 16:36 | |
85 | _8 = _5; // scope 2 at $DIR/match_false_edges.rs:16:35: 16:36 | |
f035d41b | 86 | _1 = (const 1_i32, move _8); // scope 2 at $DIR/match_false_edges.rs:16:31: 16:37 |
f9f354fc | 87 | StorageDead(_8); // scope 2 at $DIR/match_false_edges.rs:16:36: 16:37 |
f035d41b XL |
88 | StorageDead(_5); // scope 0 at $DIR/match_false_edges.rs:16:36: 16:37 |
89 | StorageDead(_6); // scope 0 at $DIR/match_false_edges.rs:16:36: 16:37 | |
f9f354fc | 90 | goto -> bb11; // scope 0 at $DIR/match_false_edges.rs:15:13: 19:6 |
ba9703b0 XL |
91 | } |
92 | ||
93 | bb9: { | |
f035d41b XL |
94 | StorageDead(_7); // scope 0 at $DIR/match_false_edges.rs:16:36: 16:37 |
95 | StorageDead(_6); // scope 0 at $DIR/match_false_edges.rs:16:36: 16:37 | |
f9f354fc | 96 | goto -> bb4; // scope 0 at $DIR/match_false_edges.rs:16:20: 16:27 |
ba9703b0 XL |
97 | } |
98 | ||
99 | bb10: { | |
f9f354fc XL |
100 | StorageLive(_9); // scope 0 at $DIR/match_false_edges.rs:17:14: 17:15 |
101 | _9 = ((_2 as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:17:14: 17:15 | |
102 | StorageLive(_10); // scope 3 at $DIR/match_false_edges.rs:17:24: 17:25 | |
103 | _10 = _9; // scope 3 at $DIR/match_false_edges.rs:17:24: 17:25 | |
f035d41b | 104 | _1 = (const 2_i32, move _10); // scope 3 at $DIR/match_false_edges.rs:17:20: 17:26 |
f9f354fc | 105 | StorageDead(_10); // scope 3 at $DIR/match_false_edges.rs:17:25: 17:26 |
f035d41b | 106 | StorageDead(_9); // scope 0 at $DIR/match_false_edges.rs:17:25: 17:26 |
f9f354fc | 107 | goto -> bb11; // scope 0 at $DIR/match_false_edges.rs:15:13: 19:6 |
ba9703b0 XL |
108 | } |
109 | ||
110 | bb11: { | |
f9f354fc XL |
111 | StorageDead(_2); // scope 0 at $DIR/match_false_edges.rs:19:6: 19:7 |
112 | StorageDead(_1); // scope 0 at $DIR/match_false_edges.rs:19:6: 19:7 | |
113 | _0 = const (); // scope 0 at $DIR/match_false_edges.rs:14:28: 20:2 | |
f9f354fc | 114 | return; // scope 0 at $DIR/match_false_edges.rs:20:2: 20:2 |
ba9703b0 XL |
115 | } |
116 | } |