File tree Expand file tree Collapse file tree 1 file changed +30
-15
lines changed Expand file tree Collapse file tree 1 file changed +30
-15
lines changed Original file line number Diff line number Diff line change 55
66fn main ( ) {
77 let gen = || {
8+ let _s = String :: new ( ) ;
89 yield ;
910 } ;
1011}
@@ -13,35 +14,49 @@ fn main() {
1314
1415// START rustc.main-{{closure}}.generator_drop.0.mir
1516// bb0: {
16- // _7 = discriminant((*_1));
17- // switchInt(move _7 ) -> [0u32: bb4 , 3u32: bb7 , otherwise: bb8 ];
17+ // _9 = discriminant((*_1));
18+ // switchInt(move _9 ) -> [0u32: bb7 , 3u32: bb11 , otherwise: bb12 ];
1819// }
19- // bb1: {
20- // StorageDead(_4);
21- // StorageDead(_3);
22- // goto -> bb5;
20+ // bb1 (cleanup): {
21+ // resume;
2322// }
24- // bb2: {
25- // return;
23+ // bb2 (cleanup): {
24+ // nop;
25+ // goto -> bb8;
2626// }
2727// bb3: {
28- // return;
28+ // StorageDead(_5);
29+ // StorageDead(_4);
30+ // drop((((*_1) as variant#3).0: std::string::String)) -> [return: bb4, unwind: bb2];
2931// }
3032// bb4: {
31- // goto -> bb6;
33+ // nop;
34+ // goto -> bb9;
3235// }
3336// bb5: {
34- // goto -> bb2 ;
37+ // return ;
3538// }
3639// bb6: {
37- // goto -> bb3 ;
40+ // return ;
3841// }
3942// bb7: {
40- // StorageLive(_3);
41- // StorageLive(_4);
43+ // goto -> bb10;
44+ // }
45+ // bb8 (cleanup): {
4246// goto -> bb1;
4347// }
44- // bb8: {
48+ // bb9: {
49+ // goto -> bb5;
50+ // }
51+ // bb10: {
52+ // goto -> bb6;
53+ // }
54+ // bb11: {
55+ // StorageLive(_4);
56+ // StorageLive(_5);
57+ // goto -> bb3;
58+ // }
59+ // bb12: {
4560// return;
4661// }
4762// END rustc.main-{{closure}}.generator_drop.0.mir
You can’t perform that action at this time.
0 commit comments