blob: c93aa52be111ab311351c3e12a29bec37f8a364e [file] [log] [blame]
Chris Wailescd1aefd2023-07-13 13:36:21 -07001- // MIR for `reference_propagation_mut_ptr` before ReferencePropagation
2+ // MIR for `reference_propagation_mut_ptr` after ReferencePropagation
3
4 fn reference_propagation_mut_ptr(_1: *mut T, _2: *mut T) -> () {
5 debug single => _1; // in scope 0 at $DIR/reference_prop.rs:+0:43: +0:49
6 debug multiple => _2; // in scope 0 at $DIR/reference_prop.rs:+0:59: +0:71
7 let mut _0: (); // return place in scope 0 at $DIR/reference_prop.rs:+0:81: +0:81
8 let _3: (); // in scope 0 at $DIR/reference_prop.rs:+2:5: +7:6
9 let _7: (); // in scope 0 at $DIR/reference_prop.rs:+6:9: +6:19
10 let mut _8: (); // in scope 0 at $DIR/reference_prop.rs:+6:16: +6:18
11 let _9: (); // in scope 0 at $DIR/reference_prop.rs:+10:5: +18:6
12 let mut _13: *mut usize; // in scope 0 at $DIR/reference_prop.rs:+14:13: +14:24
13 let _15: (); // in scope 0 at $DIR/reference_prop.rs:+17:9: +17:19
14 let mut _16: (); // in scope 0 at $DIR/reference_prop.rs:+17:16: +17:18
15 let _17: (); // in scope 0 at $DIR/reference_prop.rs:+21:5: +27:6
16 let _22: (); // in scope 0 at $DIR/reference_prop.rs:+26:9: +26:18
17 let mut _23: &*mut usize; // in scope 0 at $DIR/reference_prop.rs:+26:16: +26:17
18 let _24: (); // in scope 0 at $DIR/reference_prop.rs:+30:5: +36:6
19 let _29: (); // in scope 0 at $DIR/reference_prop.rs:+35:9: +35:18
20 let mut _30: *mut *mut usize; // in scope 0 at $DIR/reference_prop.rs:+35:16: +35:17
21 let _31: (); // in scope 0 at $DIR/reference_prop.rs:+39:5: +44:6
22 let _35: (); // in scope 0 at $DIR/reference_prop.rs:+43:9: +43:18
23 let mut _36: *mut usize; // in scope 0 at $DIR/reference_prop.rs:+43:16: +43:17
24 let _37: (); // in scope 0 at $DIR/reference_prop.rs:+47:5: +57:6
25 let _44: (); // in scope 0 at $DIR/reference_prop.rs:+56:9: +56:19
26 let mut _45: *mut usize; // in scope 0 at $DIR/reference_prop.rs:+56:16: +56:18
27 let _46: (); // in scope 0 at $DIR/reference_prop.rs:+60:5: +64:6
28 let _49: (); // in scope 0 at $DIR/reference_prop.rs:+63:9: +63:19
29 let mut _50: (); // in scope 0 at $DIR/reference_prop.rs:+63:16: +63:18
30 let _51: (); // in scope 0 at $DIR/reference_prop.rs:+67:5: +72:6
31 let mut _53: *mut T; // in scope 0 at $DIR/reference_prop.rs:+69:20: +69:36
32 let _55: (); // in scope 0 at $DIR/reference_prop.rs:+71:9: +71:19
33 let mut _56: (); // in scope 0 at $DIR/reference_prop.rs:+71:16: +71:18
34 let _57: (); // in scope 0 at $DIR/reference_prop.rs:+75:5: +81:6
35 let _62: (); // in scope 0 at $DIR/reference_prop.rs:+80:9: +80:19
36 let mut _63: (); // in scope 0 at $DIR/reference_prop.rs:+80:16: +80:18
37 let _68: (); // in scope 0 at $DIR/reference_prop.rs:+89:9: +89:19
38 let mut _69: (); // in scope 0 at $DIR/reference_prop.rs:+89:16: +89:18
39 scope 1 {
40 let mut _4: usize; // in scope 1 at $DIR/reference_prop.rs:+3:13: +3:18
41 scope 2 {
42 debug a => _4; // in scope 2 at $DIR/reference_prop.rs:+3:13: +3:18
43 let _5: *mut usize; // in scope 2 at $DIR/reference_prop.rs:+4:13: +4:14
44 scope 3 {
45- debug b => _5; // in scope 3 at $DIR/reference_prop.rs:+4:13: +4:14
46+ debug b => &_4; // in scope 3 at $DIR/reference_prop.rs:+4:13: +4:14
47 let _6: usize; // in scope 3 at $DIR/reference_prop.rs:+5:13: +5:14
48 scope 4 {
49 debug c => _6; // in scope 4 at $DIR/reference_prop.rs:+5:13: +5:14
50 }
51 }
52 }
53 }
54 scope 5 {
55 let mut _10: usize; // in scope 5 at $DIR/reference_prop.rs:+11:13: +11:18
56 scope 6 {
57 debug a => _10; // in scope 6 at $DIR/reference_prop.rs:+11:13: +11:18
58 let mut _11: usize; // in scope 6 at $DIR/reference_prop.rs:+12:13: +12:19
59 scope 7 {
60 debug a2 => _11; // in scope 7 at $DIR/reference_prop.rs:+12:13: +12:19
61 let mut _12: *mut usize; // in scope 7 at $DIR/reference_prop.rs:+13:13: +13:18
62 scope 8 {
63 debug b => _12; // in scope 8 at $DIR/reference_prop.rs:+13:13: +13:18
64 let _14: usize; // in scope 8 at $DIR/reference_prop.rs:+16:13: +16:14
65 scope 9 {
66 debug c => _14; // in scope 9 at $DIR/reference_prop.rs:+16:13: +16:14
67 }
68 }
69 }
70 }
71 }
72 scope 10 {
73 let mut _18: usize; // in scope 10 at $DIR/reference_prop.rs:+22:13: +22:18
74 scope 11 {
75 debug a => _18; // in scope 11 at $DIR/reference_prop.rs:+22:13: +22:18
76 let _19: *mut usize; // in scope 11 at $DIR/reference_prop.rs:+23:13: +23:14
77 scope 12 {
78 debug b => _19; // in scope 12 at $DIR/reference_prop.rs:+23:13: +23:14
79 let _20: &*mut usize; // in scope 12 at $DIR/reference_prop.rs:+24:13: +24:14
80 scope 13 {
81 debug d => _20; // in scope 13 at $DIR/reference_prop.rs:+24:13: +24:14
82 let _21: usize; // in scope 13 at $DIR/reference_prop.rs:+25:13: +25:14
83 scope 14 {
84 debug c => _21; // in scope 14 at $DIR/reference_prop.rs:+25:13: +25:14
85 }
86 }
87 }
88 }
89 }
90 scope 15 {
91 let mut _25: usize; // in scope 15 at $DIR/reference_prop.rs:+31:13: +31:18
92 scope 16 {
93 debug a => _25; // in scope 16 at $DIR/reference_prop.rs:+31:13: +31:18
94 let mut _26: *mut usize; // in scope 16 at $DIR/reference_prop.rs:+32:13: +32:18
95 scope 17 {
96 debug b => _26; // in scope 17 at $DIR/reference_prop.rs:+32:13: +32:18
97 let _27: *mut *mut usize; // in scope 17 at $DIR/reference_prop.rs:+33:13: +33:14
98 scope 18 {
99 debug d => _27; // in scope 18 at $DIR/reference_prop.rs:+33:13: +33:14
100 let _28: usize; // in scope 18 at $DIR/reference_prop.rs:+34:13: +34:14
101 scope 19 {
102 debug c => _28; // in scope 19 at $DIR/reference_prop.rs:+34:13: +34:14
103 }
104 }
105 }
106 }
107 }
108 scope 20 {
109 let mut _32: usize; // in scope 20 at $DIR/reference_prop.rs:+40:13: +40:18
110 scope 21 {
111 debug a => _32; // in scope 21 at $DIR/reference_prop.rs:+40:13: +40:18
112 let _33: *mut usize; // in scope 21 at $DIR/reference_prop.rs:+41:13: +41:14
113 scope 22 {
114 debug b => _33; // in scope 22 at $DIR/reference_prop.rs:+41:13: +41:14
115 let _34: usize; // in scope 22 at $DIR/reference_prop.rs:+42:13: +42:14
116 scope 23 {
117 debug c => _34; // in scope 23 at $DIR/reference_prop.rs:+42:13: +42:14
118 }
119 }
120 }
121 }
122 scope 24 {
123 let mut _38: usize; // in scope 24 at $DIR/reference_prop.rs:+48:13: +48:18
124 scope 25 {
125 debug a => _38; // in scope 25 at $DIR/reference_prop.rs:+48:13: +48:18
126 let _39: *mut usize; // in scope 25 at $DIR/reference_prop.rs:+49:13: +49:15
127 scope 26 {
128 debug b1 => _39; // in scope 26 at $DIR/reference_prop.rs:+49:13: +49:15
129 let _40: usize; // in scope 26 at $DIR/reference_prop.rs:+50:13: +50:14
130 scope 27 {
131 debug c => _40; // in scope 27 at $DIR/reference_prop.rs:+50:13: +50:14
132 let _41: *mut usize; // in scope 27 at $DIR/reference_prop.rs:+51:13: +51:15
133 scope 28 {
134 debug b2 => _41; // in scope 28 at $DIR/reference_prop.rs:+51:13: +51:15
135 let _42: usize; // in scope 28 at $DIR/reference_prop.rs:+52:13: +52:15
136 scope 29 {
137 debug c2 => _42; // in scope 29 at $DIR/reference_prop.rs:+52:13: +52:15
138 let _43: *mut usize; // in scope 29 at $DIR/reference_prop.rs:+53:13: +53:15
139 scope 30 {
140 debug b3 => _43; // in scope 30 at $DIR/reference_prop.rs:+53:13: +53:15
141 }
142 }
143 }
144 }
145 }
146 }
147 }
148 scope 31 {
149 let _47: *mut T; // in scope 31 at $DIR/reference_prop.rs:+61:13: +61:14
150 scope 32 {
151- debug a => _47; // in scope 32 at $DIR/reference_prop.rs:+61:13: +61:14
152+ debug a => _1; // in scope 32 at $DIR/reference_prop.rs:+61:13: +61:14
153 let _48: T; // in scope 32 at $DIR/reference_prop.rs:+62:13: +62:14
154 scope 33 {
155 debug b => _48; // in scope 33 at $DIR/reference_prop.rs:+62:13: +62:14
156 }
157 }
158 }
159 scope 34 {
160 let _52: *mut T; // in scope 34 at $DIR/reference_prop.rs:+68:13: +68:14
161 scope 35 {
162 debug a => _52; // in scope 35 at $DIR/reference_prop.rs:+68:13: +68:14
163 let _54: T; // in scope 35 at $DIR/reference_prop.rs:+70:13: +70:14
164 scope 36 {
165 debug b => _54; // in scope 36 at $DIR/reference_prop.rs:+70:13: +70:14
166 }
167 }
168 }
169 scope 37 {
170 let mut _58: usize; // in scope 37 at $DIR/reference_prop.rs:+76:13: +76:18
171 scope 38 {
172 debug a => _58; // in scope 38 at $DIR/reference_prop.rs:+76:13: +76:18
173 let _59: *mut usize; // in scope 38 at $DIR/reference_prop.rs:+77:13: +77:14
174 scope 39 {
175- debug b => _59; // in scope 39 at $DIR/reference_prop.rs:+77:13: +77:14
176+ debug b => &_58; // in scope 39 at $DIR/reference_prop.rs:+77:13: +77:14
177 let _60: &*mut usize; // in scope 39 at $DIR/reference_prop.rs:+78:13: +78:14
178 scope 40 {
179- debug d => _60; // in scope 40 at $DIR/reference_prop.rs:+78:13: +78:14
180+ debug d => &&_58; // in scope 40 at $DIR/reference_prop.rs:+78:13: +78:14
181 let _61: usize; // in scope 40 at $DIR/reference_prop.rs:+79:13: +79:14
182 scope 41 {
183 debug c => _61; // in scope 41 at $DIR/reference_prop.rs:+79:13: +79:14
184 }
185 }
186 }
187 }
188 }
189 scope 42 {
190 let mut _64: usize; // in scope 42 at $DIR/reference_prop.rs:+85:13: +85:18
191 scope 43 {
192 debug a => _64; // in scope 43 at $DIR/reference_prop.rs:+85:13: +85:18
193 let mut _65: *mut usize; // in scope 43 at $DIR/reference_prop.rs:+86:13: +86:18
194 scope 44 {
195- debug b => _65; // in scope 44 at $DIR/reference_prop.rs:+86:13: +86:18
196+ debug b => &_64; // in scope 44 at $DIR/reference_prop.rs:+86:13: +86:18
197 let _66: &mut *mut usize; // in scope 44 at $DIR/reference_prop.rs:+87:13: +87:14
198 scope 45 {
199- debug d => _66; // in scope 45 at $DIR/reference_prop.rs:+87:13: +87:14
200+ debug d => &&_64; // in scope 45 at $DIR/reference_prop.rs:+87:13: +87:14
201 let _67: usize; // in scope 45 at $DIR/reference_prop.rs:+88:13: +88:14
202 scope 46 {
203 debug c => _67; // in scope 46 at $DIR/reference_prop.rs:+88:13: +88:14
204 }
205 }
206 }
207 }
208 }
209
210 bb0: {
211- StorageLive(_3); // scope 0 at $DIR/reference_prop.rs:+2:5: +7:6
212 StorageLive(_4); // scope 1 at $DIR/reference_prop.rs:+3:13: +3:18
213 _4 = const 5_usize; // scope 1 at $DIR/reference_prop.rs:+3:21: +3:28
214- StorageLive(_5); // scope 2 at $DIR/reference_prop.rs:+4:13: +4:14
215- _5 = &raw mut _4; // scope 2 at $DIR/reference_prop.rs:+4:17: +4:27
216 StorageLive(_6); // scope 3 at $DIR/reference_prop.rs:+5:13: +5:14
217- _6 = (*_5); // scope 3 at $DIR/reference_prop.rs:+5:17: +5:19
218+ _6 = _4; // scope 3 at $DIR/reference_prop.rs:+5:17: +5:19
219 StorageLive(_7); // scope 4 at $DIR/reference_prop.rs:+6:9: +6:19
220 StorageLive(_8); // scope 4 at $DIR/reference_prop.rs:+6:16: +6:18
221 _8 = (); // scope 4 at $DIR/reference_prop.rs:+6:16: +6:18
222 _7 = opaque::<()>(move _8) -> bb1; // scope 4 at $DIR/reference_prop.rs:+6:9: +6:19
223 // mir::Constant
224 // + span: $DIR/reference_prop.rs:304:9: 304:15
225 // + literal: Const { ty: fn(()) {opaque::<()>}, val: Value(<ZST>) }
226 }
227
228 bb1: {
229 StorageDead(_8); // scope 4 at $DIR/reference_prop.rs:+6:18: +6:19
230 StorageDead(_7); // scope 4 at $DIR/reference_prop.rs:+6:19: +6:20
231- _3 = const (); // scope 1 at $DIR/reference_prop.rs:+2:5: +7:6
232 StorageDead(_6); // scope 3 at $DIR/reference_prop.rs:+7:5: +7:6
233- StorageDead(_5); // scope 2 at $DIR/reference_prop.rs:+7:5: +7:6
234 StorageDead(_4); // scope 1 at $DIR/reference_prop.rs:+7:5: +7:6
235- StorageDead(_3); // scope 0 at $DIR/reference_prop.rs:+7:5: +7:6
236- StorageLive(_9); // scope 0 at $DIR/reference_prop.rs:+10:5: +18:6
237 StorageLive(_10); // scope 5 at $DIR/reference_prop.rs:+11:13: +11:18
238 _10 = const 5_usize; // scope 5 at $DIR/reference_prop.rs:+11:21: +11:28
239 StorageLive(_11); // scope 6 at $DIR/reference_prop.rs:+12:13: +12:19
240 _11 = const 7_usize; // scope 6 at $DIR/reference_prop.rs:+12:22: +12:29
241 StorageLive(_12); // scope 7 at $DIR/reference_prop.rs:+13:13: +13:18
242 _12 = &raw mut _10; // scope 7 at $DIR/reference_prop.rs:+13:21: +13:31
243 StorageLive(_13); // scope 8 at $DIR/reference_prop.rs:+14:13: +14:24
244 _13 = &raw mut _11; // scope 8 at $DIR/reference_prop.rs:+14:13: +14:24
245 _12 = move _13; // scope 8 at $DIR/reference_prop.rs:+14:9: +14:24
246 StorageDead(_13); // scope 8 at $DIR/reference_prop.rs:+14:23: +14:24
247 StorageLive(_14); // scope 8 at $DIR/reference_prop.rs:+16:13: +16:14
248 _14 = (*_12); // scope 8 at $DIR/reference_prop.rs:+16:17: +16:19
249 StorageLive(_15); // scope 9 at $DIR/reference_prop.rs:+17:9: +17:19
250 StorageLive(_16); // scope 9 at $DIR/reference_prop.rs:+17:16: +17:18
251 _16 = (); // scope 9 at $DIR/reference_prop.rs:+17:16: +17:18
252 _15 = opaque::<()>(move _16) -> bb2; // scope 9 at $DIR/reference_prop.rs:+17:9: +17:19
253 // mir::Constant
254 // + span: $DIR/reference_prop.rs:315:9: 315:15
255 // + literal: Const { ty: fn(()) {opaque::<()>}, val: Value(<ZST>) }
256 }
257
258 bb2: {
259 StorageDead(_16); // scope 9 at $DIR/reference_prop.rs:+17:18: +17:19
260 StorageDead(_15); // scope 9 at $DIR/reference_prop.rs:+17:19: +17:20
261- _9 = const (); // scope 5 at $DIR/reference_prop.rs:+10:5: +18:6
262 StorageDead(_14); // scope 8 at $DIR/reference_prop.rs:+18:5: +18:6
263 StorageDead(_12); // scope 7 at $DIR/reference_prop.rs:+18:5: +18:6
264 StorageDead(_11); // scope 6 at $DIR/reference_prop.rs:+18:5: +18:6
265 StorageDead(_10); // scope 5 at $DIR/reference_prop.rs:+18:5: +18:6
266- StorageDead(_9); // scope 0 at $DIR/reference_prop.rs:+18:5: +18:6
267- StorageLive(_17); // scope 0 at $DIR/reference_prop.rs:+21:5: +27:6
268 StorageLive(_18); // scope 10 at $DIR/reference_prop.rs:+22:13: +22:18
269 _18 = const 5_usize; // scope 10 at $DIR/reference_prop.rs:+22:21: +22:28
270 StorageLive(_19); // scope 11 at $DIR/reference_prop.rs:+23:13: +23:14
271 _19 = &raw mut _18; // scope 11 at $DIR/reference_prop.rs:+23:17: +23:27
272 StorageLive(_20); // scope 12 at $DIR/reference_prop.rs:+24:13: +24:14
273 _20 = &_19; // scope 12 at $DIR/reference_prop.rs:+24:17: +24:19
274 StorageLive(_21); // scope 13 at $DIR/reference_prop.rs:+25:13: +25:14
275 _21 = (*_19); // scope 13 at $DIR/reference_prop.rs:+25:17: +25:19
276 StorageLive(_22); // scope 14 at $DIR/reference_prop.rs:+26:9: +26:18
277 StorageLive(_23); // scope 14 at $DIR/reference_prop.rs:+26:16: +26:17
278 _23 = _20; // scope 14 at $DIR/reference_prop.rs:+26:16: +26:17
279 _22 = opaque::<&*mut usize>(move _23) -> bb3; // scope 14 at $DIR/reference_prop.rs:+26:9: +26:18
280 // mir::Constant
281 // + span: $DIR/reference_prop.rs:324:9: 324:15
282 // + literal: Const { ty: fn(&*mut usize) {opaque::<&*mut usize>}, val: Value(<ZST>) }
283 }
284
285 bb3: {
286 StorageDead(_23); // scope 14 at $DIR/reference_prop.rs:+26:17: +26:18
287 StorageDead(_22); // scope 14 at $DIR/reference_prop.rs:+26:18: +26:19
288- _17 = const (); // scope 10 at $DIR/reference_prop.rs:+21:5: +27:6
289 StorageDead(_21); // scope 13 at $DIR/reference_prop.rs:+27:5: +27:6
290 StorageDead(_20); // scope 12 at $DIR/reference_prop.rs:+27:5: +27:6
291 StorageDead(_19); // scope 11 at $DIR/reference_prop.rs:+27:5: +27:6
292 StorageDead(_18); // scope 10 at $DIR/reference_prop.rs:+27:5: +27:6
293- StorageDead(_17); // scope 0 at $DIR/reference_prop.rs:+27:5: +27:6
294- StorageLive(_24); // scope 0 at $DIR/reference_prop.rs:+30:5: +36:6
295 StorageLive(_25); // scope 15 at $DIR/reference_prop.rs:+31:13: +31:18
296 _25 = const 5_usize; // scope 15 at $DIR/reference_prop.rs:+31:21: +31:28
297 StorageLive(_26); // scope 16 at $DIR/reference_prop.rs:+32:13: +32:18
298 _26 = &raw mut _25; // scope 16 at $DIR/reference_prop.rs:+32:21: +32:31
299 StorageLive(_27); // scope 17 at $DIR/reference_prop.rs:+33:13: +33:14
300 _27 = &raw mut _26; // scope 17 at $DIR/reference_prop.rs:+33:17: +33:27
301 StorageLive(_28); // scope 18 at $DIR/reference_prop.rs:+34:13: +34:14
302 _28 = (*_26); // scope 18 at $DIR/reference_prop.rs:+34:17: +34:19
303 StorageLive(_29); // scope 19 at $DIR/reference_prop.rs:+35:9: +35:18
304 StorageLive(_30); // scope 19 at $DIR/reference_prop.rs:+35:16: +35:17
305 _30 = _27; // scope 19 at $DIR/reference_prop.rs:+35:16: +35:17
306 _29 = opaque::<*mut *mut usize>(move _30) -> bb4; // scope 19 at $DIR/reference_prop.rs:+35:9: +35:18
307 // mir::Constant
308 // + span: $DIR/reference_prop.rs:333:9: 333:15
309 // + literal: Const { ty: fn(*mut *mut usize) {opaque::<*mut *mut usize>}, val: Value(<ZST>) }
310 }
311
312 bb4: {
313 StorageDead(_30); // scope 19 at $DIR/reference_prop.rs:+35:17: +35:18
314 StorageDead(_29); // scope 19 at $DIR/reference_prop.rs:+35:18: +35:19
315- _24 = const (); // scope 15 at $DIR/reference_prop.rs:+30:5: +36:6
316 StorageDead(_28); // scope 18 at $DIR/reference_prop.rs:+36:5: +36:6
317 StorageDead(_27); // scope 17 at $DIR/reference_prop.rs:+36:5: +36:6
318 StorageDead(_26); // scope 16 at $DIR/reference_prop.rs:+36:5: +36:6
319 StorageDead(_25); // scope 15 at $DIR/reference_prop.rs:+36:5: +36:6
320- StorageDead(_24); // scope 0 at $DIR/reference_prop.rs:+36:5: +36:6
321- StorageLive(_31); // scope 0 at $DIR/reference_prop.rs:+39:5: +44:6
322 StorageLive(_32); // scope 20 at $DIR/reference_prop.rs:+40:13: +40:18
323 _32 = const 7_usize; // scope 20 at $DIR/reference_prop.rs:+40:21: +40:28
324 StorageLive(_33); // scope 21 at $DIR/reference_prop.rs:+41:13: +41:14
325 _33 = &raw mut _32; // scope 21 at $DIR/reference_prop.rs:+41:17: +41:27
326 StorageLive(_34); // scope 22 at $DIR/reference_prop.rs:+42:13: +42:14
327 _34 = (*_33); // scope 22 at $DIR/reference_prop.rs:+42:17: +42:19
328 StorageLive(_35); // scope 23 at $DIR/reference_prop.rs:+43:9: +43:18
329 StorageLive(_36); // scope 23 at $DIR/reference_prop.rs:+43:16: +43:17
330 _36 = _33; // scope 23 at $DIR/reference_prop.rs:+43:16: +43:17
331 _35 = opaque::<*mut usize>(move _36) -> bb5; // scope 23 at $DIR/reference_prop.rs:+43:9: +43:18
332 // mir::Constant
333 // + span: $DIR/reference_prop.rs:341:9: 341:15
334 // + literal: Const { ty: fn(*mut usize) {opaque::<*mut usize>}, val: Value(<ZST>) }
335 }
336
337 bb5: {
338 StorageDead(_36); // scope 23 at $DIR/reference_prop.rs:+43:17: +43:18
339 StorageDead(_35); // scope 23 at $DIR/reference_prop.rs:+43:18: +43:19
340- _31 = const (); // scope 20 at $DIR/reference_prop.rs:+39:5: +44:6
341 StorageDead(_34); // scope 22 at $DIR/reference_prop.rs:+44:5: +44:6
342 StorageDead(_33); // scope 21 at $DIR/reference_prop.rs:+44:5: +44:6
343 StorageDead(_32); // scope 20 at $DIR/reference_prop.rs:+44:5: +44:6
344- StorageDead(_31); // scope 0 at $DIR/reference_prop.rs:+44:5: +44:6
345- StorageLive(_37); // scope 0 at $DIR/reference_prop.rs:+47:5: +57:6
346 StorageLive(_38); // scope 24 at $DIR/reference_prop.rs:+48:13: +48:18
347 _38 = const 7_usize; // scope 24 at $DIR/reference_prop.rs:+48:21: +48:28
348 StorageLive(_39); // scope 25 at $DIR/reference_prop.rs:+49:13: +49:15
349 _39 = &raw mut _38; // scope 25 at $DIR/reference_prop.rs:+49:18: +49:28
350 StorageLive(_40); // scope 26 at $DIR/reference_prop.rs:+50:13: +50:14
351 _40 = (*_39); // scope 26 at $DIR/reference_prop.rs:+50:17: +50:20
352 StorageLive(_41); // scope 27 at $DIR/reference_prop.rs:+51:13: +51:15
353 _41 = _39; // scope 27 at $DIR/reference_prop.rs:+51:18: +51:20
354 StorageLive(_42); // scope 28 at $DIR/reference_prop.rs:+52:13: +52:15
355 _42 = (*_41); // scope 28 at $DIR/reference_prop.rs:+52:18: +52:21
356 StorageLive(_43); // scope 29 at $DIR/reference_prop.rs:+53:13: +53:15
357 _43 = _41; // scope 29 at $DIR/reference_prop.rs:+53:18: +53:20
358 StorageLive(_44); // scope 30 at $DIR/reference_prop.rs:+56:9: +56:19
359 StorageLive(_45); // scope 30 at $DIR/reference_prop.rs:+56:16: +56:18
360 _45 = _43; // scope 30 at $DIR/reference_prop.rs:+56:16: +56:18
361 _44 = opaque::<*mut usize>(move _45) -> bb6; // scope 30 at $DIR/reference_prop.rs:+56:9: +56:19
362 // mir::Constant
363 // + span: $DIR/reference_prop.rs:354:9: 354:15
364 // + literal: Const { ty: fn(*mut usize) {opaque::<*mut usize>}, val: Value(<ZST>) }
365 }
366
367 bb6: {
368 StorageDead(_45); // scope 30 at $DIR/reference_prop.rs:+56:18: +56:19
369 StorageDead(_44); // scope 30 at $DIR/reference_prop.rs:+56:19: +56:20
370- _37 = const (); // scope 24 at $DIR/reference_prop.rs:+47:5: +57:6
371 StorageDead(_43); // scope 29 at $DIR/reference_prop.rs:+57:5: +57:6
372 StorageDead(_42); // scope 28 at $DIR/reference_prop.rs:+57:5: +57:6
373 StorageDead(_41); // scope 27 at $DIR/reference_prop.rs:+57:5: +57:6
374 StorageDead(_40); // scope 26 at $DIR/reference_prop.rs:+57:5: +57:6
375 StorageDead(_39); // scope 25 at $DIR/reference_prop.rs:+57:5: +57:6
376 StorageDead(_38); // scope 24 at $DIR/reference_prop.rs:+57:5: +57:6
377- StorageDead(_37); // scope 0 at $DIR/reference_prop.rs:+57:5: +57:6
378- StorageLive(_46); // scope 0 at $DIR/reference_prop.rs:+60:5: +64:6
379- StorageLive(_47); // scope 31 at $DIR/reference_prop.rs:+61:13: +61:14
380- _47 = &raw mut (*_1); // scope 31 at $DIR/reference_prop.rs:+61:17: +61:33
381 StorageLive(_48); // scope 32 at $DIR/reference_prop.rs:+62:13: +62:14
382- _48 = (*_47); // scope 32 at $DIR/reference_prop.rs:+62:17: +62:19
383+ _48 = (*_1); // scope 32 at $DIR/reference_prop.rs:+62:17: +62:19
384 StorageLive(_49); // scope 33 at $DIR/reference_prop.rs:+63:9: +63:19
385 StorageLive(_50); // scope 33 at $DIR/reference_prop.rs:+63:16: +63:18
386 _50 = (); // scope 33 at $DIR/reference_prop.rs:+63:16: +63:18
387 _49 = opaque::<()>(move _50) -> bb7; // scope 33 at $DIR/reference_prop.rs:+63:9: +63:19
388 // mir::Constant
389 // + span: $DIR/reference_prop.rs:361:9: 361:15
390 // + literal: Const { ty: fn(()) {opaque::<()>}, val: Value(<ZST>) }
391 }
392
393 bb7: {
394 StorageDead(_50); // scope 33 at $DIR/reference_prop.rs:+63:18: +63:19
395 StorageDead(_49); // scope 33 at $DIR/reference_prop.rs:+63:19: +63:20
396- _46 = const (); // scope 31 at $DIR/reference_prop.rs:+60:5: +64:6
397 StorageDead(_48); // scope 32 at $DIR/reference_prop.rs:+64:5: +64:6
398- StorageDead(_47); // scope 31 at $DIR/reference_prop.rs:+64:5: +64:6
399- StorageDead(_46); // scope 0 at $DIR/reference_prop.rs:+64:5: +64:6
400- StorageLive(_51); // scope 0 at $DIR/reference_prop.rs:+67:5: +72:6
401 StorageLive(_52); // scope 34 at $DIR/reference_prop.rs:+68:13: +68:14
402 _52 = &raw mut (*_2); // scope 34 at $DIR/reference_prop.rs:+68:17: +68:35
403 StorageLive(_53); // scope 35 at $DIR/reference_prop.rs:+69:20: +69:36
404 _53 = &raw mut (*_1); // scope 35 at $DIR/reference_prop.rs:+69:20: +69:36
405 _2 = move _53; // scope 35 at $DIR/reference_prop.rs:+69:9: +69:36
406 StorageDead(_53); // scope 35 at $DIR/reference_prop.rs:+69:35: +69:36
407 StorageLive(_54); // scope 35 at $DIR/reference_prop.rs:+70:13: +70:14
408 _54 = (*_52); // scope 35 at $DIR/reference_prop.rs:+70:17: +70:19
409 StorageLive(_55); // scope 36 at $DIR/reference_prop.rs:+71:9: +71:19
410 StorageLive(_56); // scope 36 at $DIR/reference_prop.rs:+71:16: +71:18
411 _56 = (); // scope 36 at $DIR/reference_prop.rs:+71:16: +71:18
412 _55 = opaque::<()>(move _56) -> bb8; // scope 36 at $DIR/reference_prop.rs:+71:9: +71:19
413 // mir::Constant
414 // + span: $DIR/reference_prop.rs:369:9: 369:15
415 // + literal: Const { ty: fn(()) {opaque::<()>}, val: Value(<ZST>) }
416 }
417
418 bb8: {
419 StorageDead(_56); // scope 36 at $DIR/reference_prop.rs:+71:18: +71:19
420 StorageDead(_55); // scope 36 at $DIR/reference_prop.rs:+71:19: +71:20
421- _51 = const (); // scope 34 at $DIR/reference_prop.rs:+67:5: +72:6
422 StorageDead(_54); // scope 35 at $DIR/reference_prop.rs:+72:5: +72:6
423 StorageDead(_52); // scope 34 at $DIR/reference_prop.rs:+72:5: +72:6
424- StorageDead(_51); // scope 0 at $DIR/reference_prop.rs:+72:5: +72:6
425- StorageLive(_57); // scope 0 at $DIR/reference_prop.rs:+75:5: +81:6
426 StorageLive(_58); // scope 37 at $DIR/reference_prop.rs:+76:13: +76:18
427 _58 = const 5_usize; // scope 37 at $DIR/reference_prop.rs:+76:21: +76:28
428- StorageLive(_59); // scope 38 at $DIR/reference_prop.rs:+77:13: +77:14
429- _59 = &raw mut _58; // scope 38 at $DIR/reference_prop.rs:+77:17: +77:27
430- StorageLive(_60); // scope 39 at $DIR/reference_prop.rs:+78:13: +78:14
431- _60 = &_59; // scope 39 at $DIR/reference_prop.rs:+78:17: +78:19
432 StorageLive(_61); // scope 40 at $DIR/reference_prop.rs:+79:13: +79:14
433- _61 = (*_59); // scope 40 at $DIR/reference_prop.rs:+79:17: +79:19
434+ _61 = _58; // scope 40 at $DIR/reference_prop.rs:+79:17: +79:19
435 StorageLive(_62); // scope 41 at $DIR/reference_prop.rs:+80:9: +80:19
436 StorageLive(_63); // scope 41 at $DIR/reference_prop.rs:+80:16: +80:18
437 _63 = (); // scope 41 at $DIR/reference_prop.rs:+80:16: +80:18
438 _62 = opaque::<()>(move _63) -> bb9; // scope 41 at $DIR/reference_prop.rs:+80:9: +80:19
439 // mir::Constant
440 // + span: $DIR/reference_prop.rs:378:9: 378:15
441 // + literal: Const { ty: fn(()) {opaque::<()>}, val: Value(<ZST>) }
442 }
443
444 bb9: {
445 StorageDead(_63); // scope 41 at $DIR/reference_prop.rs:+80:18: +80:19
446 StorageDead(_62); // scope 41 at $DIR/reference_prop.rs:+80:19: +80:20
447- _57 = const (); // scope 37 at $DIR/reference_prop.rs:+75:5: +81:6
448 StorageDead(_61); // scope 40 at $DIR/reference_prop.rs:+81:5: +81:6
449- StorageDead(_60); // scope 39 at $DIR/reference_prop.rs:+81:5: +81:6
450- StorageDead(_59); // scope 38 at $DIR/reference_prop.rs:+81:5: +81:6
451 StorageDead(_58); // scope 37 at $DIR/reference_prop.rs:+81:5: +81:6
452- StorageDead(_57); // scope 0 at $DIR/reference_prop.rs:+81:5: +81:6
453 StorageLive(_64); // scope 42 at $DIR/reference_prop.rs:+85:13: +85:18
454 _64 = const 5_usize; // scope 42 at $DIR/reference_prop.rs:+85:21: +85:28
455- StorageLive(_65); // scope 43 at $DIR/reference_prop.rs:+86:13: +86:18
456- _65 = &raw mut _64; // scope 43 at $DIR/reference_prop.rs:+86:21: +86:31
457- StorageLive(_66); // scope 44 at $DIR/reference_prop.rs:+87:13: +87:14
458- _66 = &mut _65; // scope 44 at $DIR/reference_prop.rs:+87:17: +87:23
459 StorageLive(_67); // scope 45 at $DIR/reference_prop.rs:+88:13: +88:14
460- _67 = (*_65); // scope 45 at $DIR/reference_prop.rs:+88:17: +88:19
461+ _67 = _64; // scope 45 at $DIR/reference_prop.rs:+88:17: +88:19
462 StorageLive(_68); // scope 46 at $DIR/reference_prop.rs:+89:9: +89:19
463 StorageLive(_69); // scope 46 at $DIR/reference_prop.rs:+89:16: +89:18
464 _69 = (); // scope 46 at $DIR/reference_prop.rs:+89:16: +89:18
465 _68 = opaque::<()>(move _69) -> bb10; // scope 46 at $DIR/reference_prop.rs:+89:9: +89:19
466 // mir::Constant
467 // + span: $DIR/reference_prop.rs:387:9: 387:15
468 // + literal: Const { ty: fn(()) {opaque::<()>}, val: Value(<ZST>) }
469 }
470
471 bb10: {
472 StorageDead(_69); // scope 46 at $DIR/reference_prop.rs:+89:18: +89:19
473 StorageDead(_68); // scope 46 at $DIR/reference_prop.rs:+89:19: +89:20
474 _0 = const (); // scope 42 at $DIR/reference_prop.rs:+84:5: +90:6
475 StorageDead(_67); // scope 45 at $DIR/reference_prop.rs:+90:5: +90:6
476- StorageDead(_66); // scope 44 at $DIR/reference_prop.rs:+90:5: +90:6
477- StorageDead(_65); // scope 43 at $DIR/reference_prop.rs:+90:5: +90:6
478 StorageDead(_64); // scope 42 at $DIR/reference_prop.rs:+90:5: +90:6
479 return; // scope 0 at $DIR/reference_prop.rs:+91:2: +91:2
480 }
481 }
482