|
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