@@ -9,10 +9,9 @@ fn constant_eq(_1: &str, _2: bool) -> u32 {
9
9
let mut _5 : bool;
10
10
let mut _6 : bool;
11
11
let mut _7 : bool;
12
- let mut _8 : bool;
13
- let mut _9 : &&str;
14
- let mut _10 : &bool;
15
- let mut _11 : bool;
12
+ let mut _8 : &&str;
13
+ let mut _9 : &bool;
14
+ let mut _10 : bool;
16
15
17
16
bb0 : {
18
17
StorageLive(_3);
@@ -24,104 +23,96 @@ fn constant_eq(_1: &str, _2: bool) -> u32 {
24
23
StorageDead(_5);
25
24
StorageDead(_4);
26
25
PlaceMention(_3);
27
- _8 = <str as PartialEq>::eq((_3.0 : &str), const "a") -> [return: bb13 , unwind: bb21 ];
26
+ _7 = <str as PartialEq>::eq((_3.0 : &str), const "a") -> [return: bb11 , unwind: bb19 ];
28
27
}
29
28
30
29
bb1 : {
31
- _7 = <str as PartialEq>::eq ((_3.0 : &str), const "b" ) -> [return: bb11, unwind: bb21 ];
30
+ switchInt ((_3.1 : bool) ) -> [0: bb2, otherwise: bb3 ];
32
31
}
33
32
34
33
bb2 : {
35
- _6 = <str as PartialEq>::eq((_3.0 : &str), const "a") -> [return: bb8, unwind: bb21];
34
+ _0 = const 5_u32;
35
+ goto -> bb18;
36
36
}
37
37
38
38
bb3 : {
39
- switchInt((_3.1 : bool)) -> [0: bb4, otherwise: bb5 ];
39
+ falseEdge -> [real : bb17, imaginary: bb2 ];
40
40
}
41
41
42
42
bb4 : {
43
- _0 = const 5_u32;
44
- goto -> bb20;
43
+ falseEdge -> [real : bb12, imaginary: bb9];
45
44
}
46
45
47
46
bb5 : {
48
- falseEdge -> [real : bb19, imaginary: bb4 ];
47
+ switchInt((_3.1 : bool)) -> [0: bb1, otherwise: bb6 ];
49
48
}
50
49
51
50
bb6 : {
52
- switchInt((_3.1 : bool)) -> [0: bb3, otherwise: bb7 ];
51
+ falseEdge -> [real : bb16, imaginary: bb3 ];
53
52
}
54
53
55
54
bb7 : {
56
- falseEdge -> [real : bb18, imaginary: bb5 ];
55
+ _6 = <str as PartialEq>::eq((_3.0 : &str), const "b") -> [return: bb10, unwind: bb19 ];
57
56
}
58
57
59
58
bb8 : {
60
- switchInt(move _6) -> [0 : bb3 , otherwise: bb6 ];
59
+ switchInt((_3.1 : bool)) -> [0: bb1 , otherwise: bb9 ];
61
60
}
62
61
63
62
bb9 : {
64
- switchInt((_3.1 : bool)) -> [0: bb2, otherwise: bb10 ];
63
+ falseEdge -> [real : bb15, imaginary: bb6 ];
65
64
}
66
65
67
66
bb10 : {
68
- falseEdge -> [real : bb17, imaginary: bb7 ];
67
+ switchInt(move _6) -> [0 : bb1, otherwise: bb8 ];
69
68
}
70
69
71
70
bb11 : {
72
- switchInt(move _7) -> [0 : bb2 , otherwise: bb9 ];
71
+ switchInt(move _7) -> [0 : bb7 , otherwise: bb4 ];
73
72
}
74
73
75
74
bb12 : {
76
- falseEdge -> [real : bb14, imaginary: bb10];
75
+ _8 = &fake (_3.0 : &str);
76
+ _9 = &fake (_3.1 : bool);
77
+ StorageLive(_10);
78
+ _10 = const true;
79
+ switchInt(move _10) -> [0 : bb14, otherwise: bb13];
77
80
}
78
81
79
82
bb13 : {
80
- switchInt(move _8) -> [0 : bb1, otherwise: bb12];
81
- }
82
-
83
- bb14 : {
84
- _9 = &fake (_3.0 : &str);
85
- _10 = &fake (_3.1 : bool);
86
- StorageLive(_11);
87
- _11 = const true;
88
- switchInt(move _11) -> [0 : bb16, otherwise: bb15];
89
- }
90
-
91
- bb15 : {
92
- StorageDead(_11);
83
+ StorageDead(_10);
84
+ FakeRead(ForMatchGuard, _8);
93
85
FakeRead(ForMatchGuard, _9);
94
- FakeRead(ForMatchGuard, _10);
95
86
_0 = const 1_u32;
96
- goto -> bb20 ;
87
+ goto -> bb18 ;
97
88
}
98
89
99
- bb16 : {
100
- StorageDead(_11 );
101
- falseEdge -> [real : bb1 , imaginary: bb10 ];
90
+ bb14 : {
91
+ StorageDead(_10 );
92
+ falseEdge -> [real : bb5 , imaginary: bb9 ];
102
93
}
103
94
104
- bb17 : {
95
+ bb15 : {
105
96
_0 = const 2_u32;
106
- goto -> bb20 ;
97
+ goto -> bb18 ;
107
98
}
108
99
109
- bb18 : {
100
+ bb16 : {
110
101
_0 = const 3_u32;
111
- goto -> bb20 ;
102
+ goto -> bb18 ;
112
103
}
113
104
114
- bb19 : {
105
+ bb17 : {
115
106
_0 = const 4_u32;
116
- goto -> bb20 ;
107
+ goto -> bb18 ;
117
108
}
118
109
119
- bb20 : {
110
+ bb18 : {
120
111
StorageDead(_3);
121
112
return;
122
113
}
123
114
124
- bb21 (cleanup) : {
115
+ bb19 (cleanup) : {
125
116
resume;
126
117
}
127
118
}
0 commit comments