Rollup merge of #116415 - ouz-a:move_subtyper, r=oli-obk · rust-lang/rust@08cc742 (original) (raw)
`@@ -7,12 +7,11 @@
`
7
7
` let mut _2: std::pin::Pin<&mut {generator@$DIR/inline_generator.rs:16:5: 16:8}>;
`
8
8
` let mut _3: &mut {generator@$DIR/inline_generator.rs:16:5: 16:8};
`
9
9
` let mut _4: {generator@$DIR/inline_generator.rs:16:5: 16:8};
`
10
``
`-
- let mut _6: bool;
`
``
10
`+
- let mut _5: bool;
`
11
11
` scope 1 {
`
12
12
` debug _r => _1;
`
13
13
` }
`
14
14
`+ scope 2 (inlined g) {
`
15
``
`-
- let mut _5: {generator@$DIR/inline_generator.rs:16:5: 16:8};
`
16
15
`+ }
`
17
16
`+ scope 3 (inlined Pin::<&mut {generator@$DIR/inline_generator.rs:16:5: 16:8}>::new) {
`
18
17
`+ debug pointer => _3;
`
`@@ -23,10 +22,10 @@
`
23
22
`+ }
`
24
23
`+ }
`
25
24
`+ scope 6 (inlined g::{closure#0}) {
`
26
``
`-
- debug a => _6;
`
27
``
`-
- let mut _7: &mut {generator@$DIR/inline_generator.rs:16:5: 16:8};
`
28
``
`-
- let mut _8: u32;
`
29
``
`-
- let mut _9: i32;
`
``
25
`+
- debug a => _5;
`
``
26
`+
- let mut _6: &mut {generator@$DIR/inline_generator.rs:16:5: 16:8};
`
``
27
`+
- let mut _7: u32;
`
``
28
`+
- let mut _8: i32;
`
30
29
`+ }
`
31
30
``
32
31
` bb0: {
`
`@@ -38,10 +37,7 @@
`
38
37
`- }
`
39
38
`-
`
40
39
`- bb1: {
`
41
``
`-
- StorageLive(_5);
`
42
``
`-
- _5 = {generator@$DIR/inline_generator.rs:16:5: 16:8 (#0)};
`
43
``
`-
- _4 = move (_5 as subtype {generator@$DIR/inline_generator.rs:16:5: 16:8});
`
44
``
`-
- StorageDead(_5);
`
``
40
`+
- _4 = {generator@$DIR/inline_generator.rs:16:5: 16:8 (#0)};
`
45
41
` _3 = &mut _4;
`
46
42
`- _2 = Pin::<&mut {generator@$DIR/inline_generator.rs:16:5: 16:8}>::new(move _3) -> [return: bb2, unwind: bb5];
`
47
43
`- }
`
`@@ -50,20 +46,20 @@
`
50
46
`+ _2 = Pin::<&mut {generator@$DIR/inline_generator.rs:16:5: 16:8}> { pointer: move _3 };
`
51
47
` StorageDead(_3);
`
52
48
`- _1 = <{generator@$DIR/inline_generator.rs:16:5: 16:8} as Generator>::resume(move _2, const false) -> [return: bb3, unwind: bb5];
`
``
49
`+
- StorageLive(_5);
`
``
50
`+
- _5 = const false;
`
53
51
`+ StorageLive(_6);
`
54
``
`-
- _6 = const false;
`
55
52
`+ StorageLive(_7);
`
56
``
`-
- StorageLive(_8);
`
57
``
`-
- _7 = (_2.0: &mut {generator@$DIR/inline_generator.rs:16:5: 16:8});
`
58
``
`-
- _8 = discriminant((*_7));
`
59
``
`-
- switchInt(move _8) -> [0: bb5, 1: bb9, 3: bb10, otherwise: bb11];
`
``
53
`+
- _6 = (_2.0: &mut {generator@$DIR/inline_generator.rs:16:5: 16:8});
`
``
54
`+
- _7 = discriminant((*_6));
`
``
55
`+
- switchInt(move _7) -> [0: bb5, 1: bb9, 3: bb10, otherwise: bb11];
`
60
56
` }
`
61
57
``
62
58
`- bb3: {
`
63
59
`+ bb1: {
`
64
``
`-
- StorageDead(_8);
`
65
60
`+ StorageDead(_7);
`
66
61
`+ StorageDead(_6);
`
``
62
`+
- StorageDead(_5);
`
67
63
` StorageDead(_2);
`
68
64
`- drop(_4) -> [return: bb4, unwind: bb6];
`
69
65
`+ drop(_4) -> [return: bb2, unwind: bb4];
`
`@@ -89,23 +85,23 @@
`
89
85
`+ }
`
90
86
`+
`
91
87
`+ bb5: {
`
92
``
`-
- StorageLive(_9);
`
93
``
`-
- switchInt(_6) -> [0: bb6, otherwise: bb7];
`
``
88
`+
- StorageLive(_8);
`
``
89
`+
- switchInt(_5) -> [0: bb6, otherwise: bb7];
`
94
90
`+ }
`
95
91
`+
`
96
92
`+ bb6: {
`
97
``
`-
- _9 = const 13_i32;
`
``
93
`+
- _8 = const 13_i32;
`
98
94
`+ goto -> bb8;
`
99
95
`+ }
`
100
96
`+
`
101
97
`+ bb7: {
`
102
``
`-
- _9 = const 7_i32;
`
``
98
`+
- _8 = const 7_i32;
`
103
99
`+ goto -> bb8;
`
104
100
`+ }
`
105
101
`+
`
106
102
`+ bb8: {
`
107
``
`-
- _1 = GeneratorState::<i32, bool>::Yielded(move _9);
`
108
``
`-
- discriminant((*_7)) = 3;
`
``
103
`+
- _1 = GeneratorState::<i32, bool>::Yielded(move _8);
`
``
104
`+
- discriminant((*_6)) = 3;
`
109
105
`+ goto -> bb1;
`
110
106
`+ }
`
111
107
`+
`
`@@ -114,10 +110,10 @@
`
114
110
`+ }
`
115
111
`+
`
116
112
`+ bb10: {
`
117
``
`-
- StorageLive(_9);
`
118
``
`-
- StorageDead(_9);
`
119
``
`-
- _1 = GeneratorState::<i32, bool>::Complete(_6);
`
120
``
`-
- discriminant((*_7)) = 1;
`
``
113
`+
- StorageLive(_8);
`
``
114
`+
- StorageDead(_8);
`
``
115
`+
- _1 = GeneratorState::<i32, bool>::Complete(_5);
`
``
116
`+
- discriminant((*_6)) = 1;
`
121
117
`+ goto -> bb1;
`
122
118
`+ }
`
123
119
`+
`