File tree 1 file changed +30
-15
lines changed
1 file changed +30
-15
lines changed Original file line number Diff line number Diff line change 5
5
6
6
fn main ( ) {
7
7
let gen = || {
8
+ let _s = String :: new ( ) ;
8
9
yield ;
9
10
} ;
10
11
}
@@ -13,35 +14,49 @@ fn main() {
13
14
14
15
// START rustc.main-{{closure}}.generator_drop.0.mir
15
16
// 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 ];
18
19
// }
19
- // bb1: {
20
- // StorageDead(_4);
21
- // StorageDead(_3);
22
- // goto -> bb5;
20
+ // bb1 (cleanup): {
21
+ // resume;
23
22
// }
24
- // bb2: {
25
- // return;
23
+ // bb2 (cleanup): {
24
+ // nop;
25
+ // goto -> bb8;
26
26
// }
27
27
// bb3: {
28
- // return;
28
+ // StorageDead(_5);
29
+ // StorageDead(_4);
30
+ // drop((((*_1) as variant#3).0: std::string::String)) -> [return: bb4, unwind: bb2];
29
31
// }
30
32
// bb4: {
31
- // goto -> bb6;
33
+ // nop;
34
+ // goto -> bb9;
32
35
// }
33
36
// bb5: {
34
- // goto -> bb2 ;
37
+ // return ;
35
38
// }
36
39
// bb6: {
37
- // goto -> bb3 ;
40
+ // return ;
38
41
// }
39
42
// bb7: {
40
- // StorageLive(_3);
41
- // StorageLive(_4);
43
+ // goto -> bb10;
44
+ // }
45
+ // bb8 (cleanup): {
42
46
// goto -> bb1;
43
47
// }
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: {
45
60
// return;
46
61
// }
47
62
// END rustc.main-{{closure}}.generator_drop.0.mir
You can’t perform that action at this time.
0 commit comments