|
1 | 1 | // MIR for `main::{{closure}}#0` 0 generator_resume |
2 | 2 | // generator_layout = GeneratorLayout { field_tys: [HasDrop], variant_fields: [[], [], [], [_0]], storage_conflicts: BitMatrix { num_rows: 1, num_columns: 1, words: [1], marker: PhantomData } } |
3 | 3 |
|
4 | | -fn main::{{closure}}#0(_1: std::pin::Pin<&mut [generator@$DIR/generator-tiny.rs:18:16: 24:6 {u8, HasDrop, ()}]>, _2: u8) -> std::ops::GeneratorState<(), ()> { |
5 | | - debug _x => _10; // in scope 0 at $DIR/generator-tiny.rs:18:17: 18:19 |
6 | | - let mut _0: std::ops::GeneratorState<(), ()>; // return place in scope 0 at $DIR/generator-tiny.rs:18:16: 24:6 |
7 | | - let _3: HasDrop; // in scope 0 at $DIR/generator-tiny.rs:19:13: 19:15 |
8 | | - let mut _4: !; // in scope 0 at $DIR/generator-tiny.rs:20:9: 23:10 |
9 | | - let mut _5: (); // in scope 0 at $DIR/generator-tiny.rs:18:16: 24:6 |
10 | | - let _6: u8; // in scope 0 at $DIR/generator-tiny.rs:21:13: 21:18 |
11 | | - let mut _7: (); // in scope 0 at $DIR/generator-tiny.rs:21:13: 21:18 |
12 | | - let _8: (); // in scope 0 at $DIR/generator-tiny.rs:22:13: 22:21 |
13 | | - let mut _9: (); // in scope 0 at $DIR/generator-tiny.rs:18:25: 18:25 |
14 | | - let _10: u8; // in scope 0 at $DIR/generator-tiny.rs:18:17: 18:19 |
15 | | - let mut _11: isize; // in scope 0 at $DIR/generator-tiny.rs:18:16: 24:6 |
| 4 | +fn main::{{closure}}#0(_1: std::pin::Pin<&mut [generator@$DIR/generator-tiny.rs:19:16: 25:6 {u8, HasDrop, ()}]>, _2: u8) -> std::ops::GeneratorState<(), ()> { |
| 5 | + debug _x => _10; // in scope 0 at $DIR/generator-tiny.rs:19:17: 19:19 |
| 6 | + let mut _0: std::ops::GeneratorState<(), ()>; // return place in scope 0 at $DIR/generator-tiny.rs:19:16: 25:6 |
| 7 | + let _3: HasDrop; // in scope 0 at $DIR/generator-tiny.rs:20:13: 20:15 |
| 8 | + let mut _4: !; // in scope 0 at $DIR/generator-tiny.rs:21:9: 24:10 |
| 9 | + let mut _5: (); // in scope 0 at $DIR/generator-tiny.rs:19:16: 25:6 |
| 10 | + let _6: u8; // in scope 0 at $DIR/generator-tiny.rs:22:13: 22:18 |
| 11 | + let mut _7: (); // in scope 0 at $DIR/generator-tiny.rs:22:13: 22:18 |
| 12 | + let _8: (); // in scope 0 at $DIR/generator-tiny.rs:23:13: 23:21 |
| 13 | + let mut _9: (); // in scope 0 at $DIR/generator-tiny.rs:19:25: 19:25 |
| 14 | + let _10: u8; // in scope 0 at $DIR/generator-tiny.rs:19:17: 19:19 |
| 15 | + let mut _11: isize; // in scope 0 at $DIR/generator-tiny.rs:19:16: 25:6 |
16 | 16 | scope 1 { |
17 | | - debug _d => (((*(_1.0: &mut [generator@$DIR/generator-tiny.rs:18:16: 24:6 {u8, HasDrop, ()}])) as variant#3).0: HasDrop); // in scope 1 at $DIR/generator-tiny.rs:19:13: 19:15 |
| 17 | + debug _d => (((*(_1.0: &mut [generator@$DIR/generator-tiny.rs:19:16: 25:6 {u8, HasDrop, ()}])) as variant#3).0: HasDrop); // in scope 1 at $DIR/generator-tiny.rs:20:13: 20:15 |
18 | 18 | } |
19 | 19 |
|
20 | 20 | bb0: { |
21 | | - _11 = discriminant((*(_1.0: &mut [generator@$DIR/generator-tiny.rs:18:16: 24:6 {u8, HasDrop, ()}]))); // scope 0 at $DIR/generator-tiny.rs:18:16: 24:6 |
22 | | - switchInt(move _11) -> [0u32: bb1, 3u32: bb5, otherwise: bb6]; // scope 0 at $DIR/generator-tiny.rs:18:16: 24:6 |
| 21 | + _11 = discriminant((*(_1.0: &mut [generator@$DIR/generator-tiny.rs:19:16: 25:6 {u8, HasDrop, ()}]))); // scope 0 at $DIR/generator-tiny.rs:19:16: 25:6 |
| 22 | + switchInt(move _11) -> [0u32: bb1, 3u32: bb5, otherwise: bb6]; // scope 0 at $DIR/generator-tiny.rs:19:16: 25:6 |
23 | 23 | } |
24 | 24 |
|
25 | 25 | bb1: { |
26 | | - _10 = move _2; // scope 0 at $DIR/generator-tiny.rs:18:16: 24:6 |
27 | | - nop; // scope 0 at $DIR/generator-tiny.rs:19:13: 19:15 |
28 | | - (((*(_1.0: &mut [generator@$DIR/generator-tiny.rs:18:16: 24:6 {u8, HasDrop, ()}])) as variant#3).0: HasDrop) = HasDrop; // scope 0 at $DIR/generator-tiny.rs:19:18: 19:25 |
29 | | - StorageLive(_4); // scope 1 at $DIR/generator-tiny.rs:20:9: 23:10 |
30 | | - goto -> bb2; // scope 1 at $DIR/generator-tiny.rs:20:9: 23:10 |
| 26 | + _10 = move _2; // scope 0 at $DIR/generator-tiny.rs:19:16: 25:6 |
| 27 | + nop; // scope 0 at $DIR/generator-tiny.rs:20:13: 20:15 |
| 28 | + (((*(_1.0: &mut [generator@$DIR/generator-tiny.rs:19:16: 25:6 {u8, HasDrop, ()}])) as variant#3).0: HasDrop) = HasDrop; // scope 0 at $DIR/generator-tiny.rs:20:18: 20:25 |
| 29 | + StorageLive(_4); // scope 1 at $DIR/generator-tiny.rs:21:9: 24:10 |
| 30 | + goto -> bb2; // scope 1 at $DIR/generator-tiny.rs:21:9: 24:10 |
31 | 31 | } |
32 | 32 |
|
33 | 33 | bb2: { |
34 | | - StorageLive(_6); // scope 1 at $DIR/generator-tiny.rs:21:13: 21:18 |
35 | | - StorageLive(_7); // scope 1 at $DIR/generator-tiny.rs:21:13: 21:18 |
36 | | - _7 = (); // scope 1 at $DIR/generator-tiny.rs:21:13: 21:18 |
37 | | - _0 = std::ops::GeneratorState::<(), ()>::Yielded(move _7); // scope 1 at $DIR/generator-tiny.rs:21:13: 21:18 |
38 | | - discriminant((*(_1.0: &mut [generator@$DIR/generator-tiny.rs:18:16: 24:6 {u8, HasDrop, ()}]))) = 3; // scope 1 at $DIR/generator-tiny.rs:21:13: 21:18 |
39 | | - return; // scope 1 at $DIR/generator-tiny.rs:21:13: 21:18 |
| 34 | + StorageLive(_6); // scope 1 at $DIR/generator-tiny.rs:22:13: 22:18 |
| 35 | + StorageLive(_7); // scope 1 at $DIR/generator-tiny.rs:22:13: 22:18 |
| 36 | + _7 = (); // scope 1 at $DIR/generator-tiny.rs:22:13: 22:18 |
| 37 | + _0 = std::ops::GeneratorState::<(), ()>::Yielded(move _7); // scope 1 at $DIR/generator-tiny.rs:22:13: 22:18 |
| 38 | + discriminant((*(_1.0: &mut [generator@$DIR/generator-tiny.rs:19:16: 25:6 {u8, HasDrop, ()}]))) = 3; // scope 1 at $DIR/generator-tiny.rs:22:13: 22:18 |
| 39 | + return; // scope 1 at $DIR/generator-tiny.rs:22:13: 22:18 |
40 | 40 | } |
41 | 41 |
|
42 | 42 | bb3: { |
43 | | - StorageDead(_7); // scope 1 at $DIR/generator-tiny.rs:21:17: 21:18 |
44 | | - StorageDead(_6); // scope 1 at $DIR/generator-tiny.rs:21:18: 21:19 |
45 | | - StorageLive(_8); // scope 1 at $DIR/generator-tiny.rs:22:13: 22:21 |
46 | | - _8 = const callee() -> bb4; // scope 1 at $DIR/generator-tiny.rs:22:13: 22:21 |
| 43 | + StorageDead(_7); // scope 1 at $DIR/generator-tiny.rs:22:17: 22:18 |
| 44 | + StorageDead(_6); // scope 1 at $DIR/generator-tiny.rs:22:18: 22:19 |
| 45 | + StorageLive(_8); // scope 1 at $DIR/generator-tiny.rs:23:13: 23:21 |
| 46 | + _8 = const callee() -> bb4; // scope 1 at $DIR/generator-tiny.rs:23:13: 23:21 |
47 | 47 | // ty::Const |
48 | 48 | // + ty: fn() {callee} |
49 | 49 | // + val: Value(Scalar(<ZST>)) |
50 | 50 | // mir::Constant |
51 | | - // + span: $DIR/generator-tiny.rs:22:13: 22:19 |
| 51 | + // + span: $DIR/generator-tiny.rs:23:13: 23:19 |
52 | 52 | // + literal: Const { ty: fn() {callee}, val: Value(Scalar(<ZST>)) } |
53 | 53 | } |
54 | 54 |
|
55 | 55 | bb4: { |
56 | | - StorageDead(_8); // scope 1 at $DIR/generator-tiny.rs:22:21: 22:22 |
57 | | - _5 = const (); // scope 1 at $DIR/generator-tiny.rs:20:14: 23:10 |
| 56 | + StorageDead(_8); // scope 1 at $DIR/generator-tiny.rs:23:21: 23:22 |
| 57 | + _5 = const (); // scope 1 at $DIR/generator-tiny.rs:21:14: 24:10 |
58 | 58 | // ty::Const |
59 | 59 | // + ty: () |
60 | 60 | // + val: Value(Scalar(<ZST>)) |
61 | 61 | // mir::Constant |
62 | | - // + span: $DIR/generator-tiny.rs:20:14: 23:10 |
| 62 | + // + span: $DIR/generator-tiny.rs:21:14: 24:10 |
63 | 63 | // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) } |
64 | | - goto -> bb2; // scope 1 at $DIR/generator-tiny.rs:20:9: 23:10 |
| 64 | + goto -> bb2; // scope 1 at $DIR/generator-tiny.rs:21:9: 24:10 |
65 | 65 | } |
66 | 66 |
|
67 | 67 | bb5: { |
68 | | - StorageLive(_4); // scope 0 at $DIR/generator-tiny.rs:18:16: 24:6 |
69 | | - StorageLive(_6); // scope 0 at $DIR/generator-tiny.rs:18:16: 24:6 |
70 | | - StorageLive(_7); // scope 0 at $DIR/generator-tiny.rs:18:16: 24:6 |
71 | | - _6 = move _2; // scope 0 at $DIR/generator-tiny.rs:18:16: 24:6 |
72 | | - goto -> bb3; // scope 0 at $DIR/generator-tiny.rs:18:16: 24:6 |
| 68 | + StorageLive(_4); // scope 0 at $DIR/generator-tiny.rs:19:16: 25:6 |
| 69 | + StorageLive(_6); // scope 0 at $DIR/generator-tiny.rs:19:16: 25:6 |
| 70 | + StorageLive(_7); // scope 0 at $DIR/generator-tiny.rs:19:16: 25:6 |
| 71 | + _6 = move _2; // scope 0 at $DIR/generator-tiny.rs:19:16: 25:6 |
| 72 | + goto -> bb3; // scope 0 at $DIR/generator-tiny.rs:19:16: 25:6 |
73 | 73 | } |
74 | 74 |
|
75 | 75 | bb6: { |
76 | | - unreachable; // scope 0 at $DIR/generator-tiny.rs:18:16: 24:6 |
| 76 | + unreachable; // scope 0 at $DIR/generator-tiny.rs:19:16: 25:6 |
77 | 77 | } |
78 | 78 | } |
0 commit comments