@@ -9,10 +9,9 @@ fn constant_eq(_1: &str, _2: bool) -> u32 {
99 let mut _5: bool ;
1010 let mut _6: bool ;
1111 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 ;
1615
1716 bb0 : {
1817 StorageLive ( _3) ;
@@ -24,104 +23,96 @@ fn constant_eq(_1: &str, _2: bool) -> u32 {
2423 StorageDead ( _5) ;
2524 StorageDead ( _4) ;
2625 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 ] ;
2827 }
2928
3029 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 ] ;
3231 }
3332
3433 bb2: {
35- _6 = <str as PartialEq>::eq((_3.0 : &str), const "a") -> [return: bb8, unwind: bb21];
34+ _0 = const 5_u32 ;
35+ goto -> bb18;
3636 }
3737
3838 bb3: {
39- switchInt((_3.1 : bool)) -> [0: bb4, otherwise: bb5 ];
39+ falseEdge -> [ real : bb17 , imaginary : bb2 ] ;
4040 }
4141
4242 bb4: {
43- _0 = const 5_u32;
44- goto -> bb20;
43+ falseEdge -> [ real: bb12, imaginary: bb9] ;
4544 }
4645
4746 bb5 : {
48- falseEdge -> [real : bb19, imaginary: bb4 ];
47+ switchInt ( ( _3 . 1 : bool ) ) -> [ 0 : bb1 , otherwise : bb6 ] ;
4948 }
5049
5150 bb6: {
52- switchInt((_3.1 : bool)) -> [0: bb3, otherwise: bb7 ];
51+ falseEdge -> [ real : bb16 , imaginary : bb3 ] ;
5352 }
5453
5554 bb7: {
56- falseEdge -> [real : bb18, imaginary: bb5 ];
55+ _6 = < str as PartialEq > :: eq ( ( _3 . 0 : & str ) , const "b" ) -> [ return : bb10 , unwind : bb19 ] ;
5756 }
5857
5958 bb8 : {
60- switchInt(move _6) -> [0 : bb3 , otherwise: bb6 ];
59+ switchInt( ( _3 . 1 : bool ) ) -> [ 0 : bb1 , otherwise: bb9 ] ;
6160 }
6261
6362 bb9: {
64- switchInt((_3.1 : bool)) -> [0: bb2, otherwise: bb10 ];
63+ falseEdge -> [ real : bb15 , imaginary : bb6 ] ;
6564 }
6665
6766 bb10 : {
68- falseEdge -> [real : bb17, imaginary: bb7 ];
67+ switchInt ( move _6 ) -> [ 0 : bb1 , otherwise : bb8 ] ;
6968 }
7069
7170 bb11 : {
72- switchInt(move _7) -> [0 : bb2 , otherwise: bb9 ];
71+ switchInt( move _7) -> [ 0 : bb7 , otherwise: bb4 ] ;
7372 }
7473
7574 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] ;
7780 }
7881
7982 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) ;
9385 FakeRead ( ForMatchGuard , _9) ;
94- FakeRead(ForMatchGuard, _10);
9586 _0 = const 1_u32 ;
96- goto -> bb20 ;
87+ goto -> bb18 ;
9788 }
9889
99- bb16 : {
100- StorageDead(_11 );
101- falseEdge -> [real : bb1 , imaginary: bb10 ];
90+ bb14 : {
91+ StorageDead ( _10 ) ;
92+ falseEdge -> [ real: bb5 , imaginary: bb9 ] ;
10293 }
10394
104- bb17 : {
95+ bb15 : {
10596 _0 = const 2_u32 ;
106- goto -> bb20 ;
97+ goto -> bb18 ;
10798 }
10899
109- bb18 : {
100+ bb16 : {
110101 _0 = const 3_u32 ;
111- goto -> bb20 ;
102+ goto -> bb18 ;
112103 }
113104
114- bb19 : {
105+ bb17 : {
115106 _0 = const 4_u32 ;
116- goto -> bb20 ;
107+ goto -> bb18 ;
117108 }
118109
119- bb20 : {
110+ bb18 : {
120111 StorageDead ( _3) ;
121112 return ;
122113 }
123114
124- bb21 (cleanup) : {
115+ bb19 ( cleanup) : {
125116 resume;
126117 }
127118}
0 commit comments