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