1 // MIR for `address_of_reborrow` after SimplifyCfg-initial
3 | User Type Annotations
4 | 0: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*const ^0) }, span: $DIR/address-of.rs:7:5: 7:18, inferred_ty: *const [i32; 10]
5 | 1: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*const dyn std::marker::Send) }, span: $DIR/address-of.rs:9:5: 9:25, inferred_ty: *const dyn std::marker::Send
6 | 2: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*const ^0) }, span: $DIR/address-of.rs:13:12: 13:20, inferred_ty: *const [i32; 10]
7 | 3: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*const ^0) }, span: $DIR/address-of.rs:13:12: 13:20, inferred_ty: *const [i32; 10]
8 | 4: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*const [i32; 10]) }, span: $DIR/address-of.rs:14:12: 14:28, inferred_ty: *const [i32; 10]
9 | 5: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*const [i32; 10]) }, span: $DIR/address-of.rs:14:12: 14:28, inferred_ty: *const [i32; 10]
10 | 6: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*const dyn std::marker::Send) }, span: $DIR/address-of.rs:15:12: 15:27, inferred_ty: *const dyn std::marker::Send
11 | 7: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*const dyn std::marker::Send) }, span: $DIR/address-of.rs:15:12: 15:27, inferred_ty: *const dyn std::marker::Send
12 | 8: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*const [i32]) }, span: $DIR/address-of.rs:16:12: 16:24, inferred_ty: *const [i32]
13 | 9: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*const [i32]) }, span: $DIR/address-of.rs:16:12: 16:24, inferred_ty: *const [i32]
14 | 10: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*const ^0) }, span: $DIR/address-of.rs:18:5: 18:18, inferred_ty: *const [i32; 10]
15 | 11: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*const dyn std::marker::Send) }, span: $DIR/address-of.rs:20:5: 20:25, inferred_ty: *const dyn std::marker::Send
16 | 12: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*const ^0) }, span: $DIR/address-of.rs:23:12: 23:20, inferred_ty: *const [i32; 10]
17 | 13: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*const ^0) }, span: $DIR/address-of.rs:23:12: 23:20, inferred_ty: *const [i32; 10]
18 | 14: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*const [i32; 10]) }, span: $DIR/address-of.rs:24:12: 24:28, inferred_ty: *const [i32; 10]
19 | 15: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*const [i32; 10]) }, span: $DIR/address-of.rs:24:12: 24:28, inferred_ty: *const [i32; 10]
20 | 16: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*const dyn std::marker::Send) }, span: $DIR/address-of.rs:25:12: 25:27, inferred_ty: *const dyn std::marker::Send
21 | 17: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*const dyn std::marker::Send) }, span: $DIR/address-of.rs:25:12: 25:27, inferred_ty: *const dyn std::marker::Send
22 | 18: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*const [i32]) }, span: $DIR/address-of.rs:26:12: 26:24, inferred_ty: *const [i32]
23 | 19: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*const [i32]) }, span: $DIR/address-of.rs:26:12: 26:24, inferred_ty: *const [i32]
24 | 20: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*mut ^0) }, span: $DIR/address-of.rs:28:5: 28:16, inferred_ty: *mut [i32; 10]
25 | 21: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*mut dyn std::marker::Send) }, span: $DIR/address-of.rs:30:5: 30:23, inferred_ty: *mut dyn std::marker::Send
26 | 22: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*mut ^0) }, span: $DIR/address-of.rs:33:12: 33:18, inferred_ty: *mut [i32; 10]
27 | 23: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*mut ^0) }, span: $DIR/address-of.rs:33:12: 33:18, inferred_ty: *mut [i32; 10]
28 | 24: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*mut [i32; 10]) }, span: $DIR/address-of.rs:34:12: 34:26, inferred_ty: *mut [i32; 10]
29 | 25: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*mut [i32; 10]) }, span: $DIR/address-of.rs:34:12: 34:26, inferred_ty: *mut [i32; 10]
30 | 26: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*mut dyn std::marker::Send) }, span: $DIR/address-of.rs:35:12: 35:25, inferred_ty: *mut dyn std::marker::Send
31 | 27: user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*mut dyn std::marker::Send) }, span: $DIR/address-of.rs:35:12: 35:25, inferred_ty: *mut dyn std::marker::Send
32 | 28: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*mut [i32]) }, span: $DIR/address-of.rs:36:12: 36:22, inferred_ty: *mut [i32]
33 | 29: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*mut [i32]) }, span: $DIR/address-of.rs:36:12: 36:22, inferred_ty: *mut [i32]
35 fn address_of_reborrow() -> () {
36 let mut _0: (); // return place in scope 0 at $DIR/address-of.rs:3:26: 3:26
37 let _1: &[i32; 10]; // in scope 0 at $DIR/address-of.rs:4:9: 4:10
38 let _2: [i32; 10]; // in scope 0 at $DIR/address-of.rs:4:14: 4:21
39 let mut _4: [i32; 10]; // in scope 0 at $DIR/address-of.rs:5:22: 5:29
40 let _5: *const [i32; 10]; // in scope 0 at $DIR/address-of.rs:7:5: 7:18
41 let mut _6: *const [i32; 10]; // in scope 0 at $DIR/address-of.rs:7:5: 7:18
42 let _7: *const [i32; 10]; // in scope 0 at $DIR/address-of.rs:8:5: 8:26
43 let _8: *const dyn std::marker::Send; // in scope 0 at $DIR/address-of.rs:9:5: 9:25
44 let mut _9: *const dyn std::marker::Send; // in scope 0 at $DIR/address-of.rs:9:5: 9:25
45 let mut _10: *const [i32; 10]; // in scope 0 at $DIR/address-of.rs:9:5: 9:6
46 let _11: *const [i32]; // in scope 0 at $DIR/address-of.rs:10:5: 10:22
47 let mut _12: *const [i32; 10]; // in scope 0 at $DIR/address-of.rs:10:5: 10:6
48 let _13: *const i32; // in scope 0 at $DIR/address-of.rs:11:5: 11:20
49 let mut _14: *const [i32; 10]; // in scope 0 at $DIR/address-of.rs:11:5: 11:6
50 let mut _18: *const [i32; 10]; // in scope 0 at $DIR/address-of.rs:15:30: 15:31
51 let mut _20: *const [i32; 10]; // in scope 0 at $DIR/address-of.rs:16:27: 16:28
52 let _21: *const [i32; 10]; // in scope 0 at $DIR/address-of.rs:18:5: 18:18
53 let mut _22: *const [i32; 10]; // in scope 0 at $DIR/address-of.rs:18:5: 18:18
54 let _23: *const [i32; 10]; // in scope 0 at $DIR/address-of.rs:19:5: 19:26
55 let _24: *const dyn std::marker::Send; // in scope 0 at $DIR/address-of.rs:20:5: 20:25
56 let mut _25: *const dyn std::marker::Send; // in scope 0 at $DIR/address-of.rs:20:5: 20:25
57 let mut _26: *const [i32; 10]; // in scope 0 at $DIR/address-of.rs:20:5: 20:6
58 let _27: *const [i32]; // in scope 0 at $DIR/address-of.rs:21:5: 21:22
59 let mut _28: *const [i32; 10]; // in scope 0 at $DIR/address-of.rs:21:5: 21:6
60 let mut _32: *const [i32; 10]; // in scope 0 at $DIR/address-of.rs:25:30: 25:31
61 let mut _34: *const [i32; 10]; // in scope 0 at $DIR/address-of.rs:26:27: 26:28
62 let _35: *mut [i32; 10]; // in scope 0 at $DIR/address-of.rs:28:5: 28:16
63 let mut _36: *mut [i32; 10]; // in scope 0 at $DIR/address-of.rs:28:5: 28:16
64 let _37: *mut [i32; 10]; // in scope 0 at $DIR/address-of.rs:29:5: 29:24
65 let _38: *mut dyn std::marker::Send; // in scope 0 at $DIR/address-of.rs:30:5: 30:23
66 let mut _39: *mut dyn std::marker::Send; // in scope 0 at $DIR/address-of.rs:30:5: 30:23
67 let mut _40: *mut [i32; 10]; // in scope 0 at $DIR/address-of.rs:30:5: 30:6
68 let _41: *mut [i32]; // in scope 0 at $DIR/address-of.rs:31:5: 31:20
69 let mut _42: *mut [i32; 10]; // in scope 0 at $DIR/address-of.rs:31:5: 31:6
70 let mut _46: *mut [i32; 10]; // in scope 0 at $DIR/address-of.rs:35:28: 35:29
71 let mut _48: *mut [i32; 10]; // in scope 0 at $DIR/address-of.rs:36:25: 36:26
73 debug y => _1; // in scope 1 at $DIR/address-of.rs:4:9: 4:10
74 let mut _3: &mut [i32; 10]; // in scope 1 at $DIR/address-of.rs:5:9: 5:14
76 debug z => _3; // in scope 2 at $DIR/address-of.rs:5:9: 5:14
77 let _15: *const [i32; 10] as UserTypeProjection { base: UserType(2), projs: [] }; // in scope 2 at $DIR/address-of.rs:13:9: 13:10
79 debug p => _15; // in scope 3 at $DIR/address-of.rs:13:9: 13:10
80 let _16: *const [i32; 10] as UserTypeProjection { base: UserType(4), projs: [] }; // in scope 3 at $DIR/address-of.rs:14:9: 14:10
82 debug p => _16; // in scope 4 at $DIR/address-of.rs:14:9: 14:10
83 let _17: *const dyn std::marker::Send as UserTypeProjection { base: UserType(6), projs: [] }; // in scope 4 at $DIR/address-of.rs:15:9: 15:10
85 debug p => _17; // in scope 5 at $DIR/address-of.rs:15:9: 15:10
86 let _19: *const [i32] as UserTypeProjection { base: UserType(8), projs: [] }; // in scope 5 at $DIR/address-of.rs:16:9: 16:10
88 debug p => _19; // in scope 6 at $DIR/address-of.rs:16:9: 16:10
89 let _29: *const [i32; 10] as UserTypeProjection { base: UserType(12), projs: [] }; // in scope 6 at $DIR/address-of.rs:23:9: 23:10
91 debug p => _29; // in scope 7 at $DIR/address-of.rs:23:9: 23:10
92 let _30: *const [i32; 10] as UserTypeProjection { base: UserType(14), projs: [] }; // in scope 7 at $DIR/address-of.rs:24:9: 24:10
94 debug p => _30; // in scope 8 at $DIR/address-of.rs:24:9: 24:10
95 let _31: *const dyn std::marker::Send as UserTypeProjection { base: UserType(16), projs: [] }; // in scope 8 at $DIR/address-of.rs:25:9: 25:10
97 debug p => _31; // in scope 9 at $DIR/address-of.rs:25:9: 25:10
98 let _33: *const [i32] as UserTypeProjection { base: UserType(18), projs: [] }; // in scope 9 at $DIR/address-of.rs:26:9: 26:10
100 debug p => _33; // in scope 10 at $DIR/address-of.rs:26:9: 26:10
101 let _43: *mut [i32; 10] as UserTypeProjection { base: UserType(22), projs: [] }; // in scope 10 at $DIR/address-of.rs:33:9: 33:10
103 debug p => _43; // in scope 11 at $DIR/address-of.rs:33:9: 33:10
104 let _44: *mut [i32; 10] as UserTypeProjection { base: UserType(24), projs: [] }; // in scope 11 at $DIR/address-of.rs:34:9: 34:10
106 debug p => _44; // in scope 12 at $DIR/address-of.rs:34:9: 34:10
107 let _45: *mut dyn std::marker::Send as UserTypeProjection { base: UserType(26), projs: [] }; // in scope 12 at $DIR/address-of.rs:35:9: 35:10
109 debug p => _45; // in scope 13 at $DIR/address-of.rs:35:9: 35:10
110 let _47: *mut [i32] as UserTypeProjection { base: UserType(28), projs: [] }; // in scope 13 at $DIR/address-of.rs:36:9: 36:10
112 debug p => _47; // in scope 14 at $DIR/address-of.rs:36:9: 36:10
129 StorageLive(_1); // scope 0 at $DIR/address-of.rs:4:9: 4:10
130 StorageLive(_2); // scope 0 at $DIR/address-of.rs:4:14: 4:21
131 _2 = [const 0_i32; 10]; // scope 0 at $DIR/address-of.rs:4:14: 4:21
132 _1 = &_2; // scope 0 at $DIR/address-of.rs:4:13: 4:21
133 FakeRead(ForLet(None), _1); // scope 0 at $DIR/address-of.rs:4:9: 4:10
134 StorageLive(_3); // scope 1 at $DIR/address-of.rs:5:9: 5:14
135 StorageLive(_4); // scope 1 at $DIR/address-of.rs:5:22: 5:29
136 _4 = [const 0_i32; 10]; // scope 1 at $DIR/address-of.rs:5:22: 5:29
137 _3 = &mut _4; // scope 1 at $DIR/address-of.rs:5:17: 5:29
138 FakeRead(ForLet(None), _3); // scope 1 at $DIR/address-of.rs:5:9: 5:14
139 StorageLive(_5); // scope 2 at $DIR/address-of.rs:7:5: 7:18
140 StorageLive(_6); // scope 2 at $DIR/address-of.rs:7:5: 7:18
141 _6 = &raw const (*_1); // scope 2 at $DIR/address-of.rs:7:5: 7:6
142 AscribeUserType(_6, o, UserTypeProjection { base: UserType(0), projs: [] }); // scope 2 at $DIR/address-of.rs:7:5: 7:18
143 _5 = _6; // scope 2 at $DIR/address-of.rs:7:5: 7:18
144 StorageDead(_6); // scope 2 at $DIR/address-of.rs:7:18: 7:19
145 StorageDead(_5); // scope 2 at $DIR/address-of.rs:7:18: 7:19
146 StorageLive(_7); // scope 2 at $DIR/address-of.rs:8:5: 8:26
147 _7 = &raw const (*_1); // scope 2 at $DIR/address-of.rs:8:5: 8:6
148 StorageDead(_7); // scope 2 at $DIR/address-of.rs:8:26: 8:27
149 StorageLive(_8); // scope 2 at $DIR/address-of.rs:9:5: 9:25
150 StorageLive(_9); // scope 2 at $DIR/address-of.rs:9:5: 9:25
151 StorageLive(_10); // scope 2 at $DIR/address-of.rs:9:5: 9:6
152 _10 = &raw const (*_1); // scope 2 at $DIR/address-of.rs:9:5: 9:6
153 _9 = move _10 as *const dyn std::marker::Send (Pointer(Unsize)); // scope 2 at $DIR/address-of.rs:9:5: 9:6
154 StorageDead(_10); // scope 2 at $DIR/address-of.rs:9:5: 9:6
155 AscribeUserType(_9, o, UserTypeProjection { base: UserType(1), projs: [] }); // scope 2 at $DIR/address-of.rs:9:5: 9:25
156 _8 = _9; // scope 2 at $DIR/address-of.rs:9:5: 9:25
157 StorageDead(_9); // scope 2 at $DIR/address-of.rs:9:25: 9:26
158 StorageDead(_8); // scope 2 at $DIR/address-of.rs:9:25: 9:26
159 StorageLive(_11); // scope 2 at $DIR/address-of.rs:10:5: 10:22
160 StorageLive(_12); // scope 2 at $DIR/address-of.rs:10:5: 10:6
161 _12 = &raw const (*_1); // scope 2 at $DIR/address-of.rs:10:5: 10:6
162 _11 = move _12 as *const [i32] (Pointer(Unsize)); // scope 2 at $DIR/address-of.rs:10:5: 10:6
163 StorageDead(_12); // scope 2 at $DIR/address-of.rs:10:5: 10:6
164 StorageDead(_11); // scope 2 at $DIR/address-of.rs:10:22: 10:23
165 StorageLive(_13); // scope 2 at $DIR/address-of.rs:11:5: 11:20
166 StorageLive(_14); // scope 2 at $DIR/address-of.rs:11:5: 11:6
167 _14 = &raw const (*_1); // scope 2 at $DIR/address-of.rs:11:5: 11:6
168 _13 = move _14 as *const i32 (Pointer(ArrayToPointer)); // scope 2 at $DIR/address-of.rs:11:5: 11:20
169 StorageDead(_14); // scope 2 at $DIR/address-of.rs:11:19: 11:20
170 StorageDead(_13); // scope 2 at $DIR/address-of.rs:11:20: 11:21
171 StorageLive(_15); // scope 2 at $DIR/address-of.rs:13:9: 13:10
172 _15 = &raw const (*_1); // scope 2 at $DIR/address-of.rs:13:23: 13:24
173 FakeRead(ForLet(None), _15); // scope 2 at $DIR/address-of.rs:13:9: 13:10
174 AscribeUserType(_15, o, UserTypeProjection { base: UserType(3), projs: [] }); // scope 2 at $DIR/address-of.rs:13:12: 13:20
175 StorageLive(_16); // scope 3 at $DIR/address-of.rs:14:9: 14:10
176 _16 = &raw const (*_1); // scope 3 at $DIR/address-of.rs:14:31: 14:32
177 FakeRead(ForLet(None), _16); // scope 3 at $DIR/address-of.rs:14:9: 14:10
178 AscribeUserType(_16, o, UserTypeProjection { base: UserType(5), projs: [] }); // scope 3 at $DIR/address-of.rs:14:12: 14:28
179 StorageLive(_17); // scope 4 at $DIR/address-of.rs:15:9: 15:10
180 StorageLive(_18); // scope 4 at $DIR/address-of.rs:15:30: 15:31
181 _18 = &raw const (*_1); // scope 4 at $DIR/address-of.rs:15:30: 15:31
182 _17 = move _18 as *const dyn std::marker::Send (Pointer(Unsize)); // scope 4 at $DIR/address-of.rs:15:30: 15:31
183 StorageDead(_18); // scope 4 at $DIR/address-of.rs:15:30: 15:31
184 FakeRead(ForLet(None), _17); // scope 4 at $DIR/address-of.rs:15:9: 15:10
185 AscribeUserType(_17, o, UserTypeProjection { base: UserType(7), projs: [] }); // scope 4 at $DIR/address-of.rs:15:12: 15:27
186 StorageLive(_19); // scope 5 at $DIR/address-of.rs:16:9: 16:10
187 StorageLive(_20); // scope 5 at $DIR/address-of.rs:16:27: 16:28
188 _20 = &raw const (*_1); // scope 5 at $DIR/address-of.rs:16:27: 16:28
189 _19 = move _20 as *const [i32] (Pointer(Unsize)); // scope 5 at $DIR/address-of.rs:16:27: 16:28
190 StorageDead(_20); // scope 5 at $DIR/address-of.rs:16:27: 16:28
191 FakeRead(ForLet(None), _19); // scope 5 at $DIR/address-of.rs:16:9: 16:10
192 AscribeUserType(_19, o, UserTypeProjection { base: UserType(9), projs: [] }); // scope 5 at $DIR/address-of.rs:16:12: 16:24
193 StorageLive(_21); // scope 6 at $DIR/address-of.rs:18:5: 18:18
194 StorageLive(_22); // scope 6 at $DIR/address-of.rs:18:5: 18:18
195 _22 = &raw const (*_3); // scope 6 at $DIR/address-of.rs:18:5: 18:6
196 AscribeUserType(_22, o, UserTypeProjection { base: UserType(10), projs: [] }); // scope 6 at $DIR/address-of.rs:18:5: 18:18
197 _21 = _22; // scope 6 at $DIR/address-of.rs:18:5: 18:18
198 StorageDead(_22); // scope 6 at $DIR/address-of.rs:18:18: 18:19
199 StorageDead(_21); // scope 6 at $DIR/address-of.rs:18:18: 18:19
200 StorageLive(_23); // scope 6 at $DIR/address-of.rs:19:5: 19:26
201 _23 = &raw const (*_3); // scope 6 at $DIR/address-of.rs:19:5: 19:6
202 StorageDead(_23); // scope 6 at $DIR/address-of.rs:19:26: 19:27
203 StorageLive(_24); // scope 6 at $DIR/address-of.rs:20:5: 20:25
204 StorageLive(_25); // scope 6 at $DIR/address-of.rs:20:5: 20:25
205 StorageLive(_26); // scope 6 at $DIR/address-of.rs:20:5: 20:6
206 _26 = &raw const (*_3); // scope 6 at $DIR/address-of.rs:20:5: 20:6
207 _25 = move _26 as *const dyn std::marker::Send (Pointer(Unsize)); // scope 6 at $DIR/address-of.rs:20:5: 20:6
208 StorageDead(_26); // scope 6 at $DIR/address-of.rs:20:5: 20:6
209 AscribeUserType(_25, o, UserTypeProjection { base: UserType(11), projs: [] }); // scope 6 at $DIR/address-of.rs:20:5: 20:25
210 _24 = _25; // scope 6 at $DIR/address-of.rs:20:5: 20:25
211 StorageDead(_25); // scope 6 at $DIR/address-of.rs:20:25: 20:26
212 StorageDead(_24); // scope 6 at $DIR/address-of.rs:20:25: 20:26
213 StorageLive(_27); // scope 6 at $DIR/address-of.rs:21:5: 21:22
214 StorageLive(_28); // scope 6 at $DIR/address-of.rs:21:5: 21:6
215 _28 = &raw const (*_3); // scope 6 at $DIR/address-of.rs:21:5: 21:6
216 _27 = move _28 as *const [i32] (Pointer(Unsize)); // scope 6 at $DIR/address-of.rs:21:5: 21:6
217 StorageDead(_28); // scope 6 at $DIR/address-of.rs:21:5: 21:6
218 StorageDead(_27); // scope 6 at $DIR/address-of.rs:21:22: 21:23
219 StorageLive(_29); // scope 6 at $DIR/address-of.rs:23:9: 23:10
220 _29 = &raw const (*_3); // scope 6 at $DIR/address-of.rs:23:23: 23:24
221 FakeRead(ForLet(None), _29); // scope 6 at $DIR/address-of.rs:23:9: 23:10
222 AscribeUserType(_29, o, UserTypeProjection { base: UserType(13), projs: [] }); // scope 6 at $DIR/address-of.rs:23:12: 23:20
223 StorageLive(_30); // scope 7 at $DIR/address-of.rs:24:9: 24:10
224 _30 = &raw const (*_3); // scope 7 at $DIR/address-of.rs:24:31: 24:32
225 FakeRead(ForLet(None), _30); // scope 7 at $DIR/address-of.rs:24:9: 24:10
226 AscribeUserType(_30, o, UserTypeProjection { base: UserType(15), projs: [] }); // scope 7 at $DIR/address-of.rs:24:12: 24:28
227 StorageLive(_31); // scope 8 at $DIR/address-of.rs:25:9: 25:10
228 StorageLive(_32); // scope 8 at $DIR/address-of.rs:25:30: 25:31
229 _32 = &raw const (*_3); // scope 8 at $DIR/address-of.rs:25:30: 25:31
230 _31 = move _32 as *const dyn std::marker::Send (Pointer(Unsize)); // scope 8 at $DIR/address-of.rs:25:30: 25:31
231 StorageDead(_32); // scope 8 at $DIR/address-of.rs:25:30: 25:31
232 FakeRead(ForLet(None), _31); // scope 8 at $DIR/address-of.rs:25:9: 25:10
233 AscribeUserType(_31, o, UserTypeProjection { base: UserType(17), projs: [] }); // scope 8 at $DIR/address-of.rs:25:12: 25:27
234 StorageLive(_33); // scope 9 at $DIR/address-of.rs:26:9: 26:10
235 StorageLive(_34); // scope 9 at $DIR/address-of.rs:26:27: 26:28
236 _34 = &raw const (*_3); // scope 9 at $DIR/address-of.rs:26:27: 26:28
237 _33 = move _34 as *const [i32] (Pointer(Unsize)); // scope 9 at $DIR/address-of.rs:26:27: 26:28
238 StorageDead(_34); // scope 9 at $DIR/address-of.rs:26:27: 26:28
239 FakeRead(ForLet(None), _33); // scope 9 at $DIR/address-of.rs:26:9: 26:10
240 AscribeUserType(_33, o, UserTypeProjection { base: UserType(19), projs: [] }); // scope 9 at $DIR/address-of.rs:26:12: 26:24
241 StorageLive(_35); // scope 10 at $DIR/address-of.rs:28:5: 28:16
242 StorageLive(_36); // scope 10 at $DIR/address-of.rs:28:5: 28:16
243 _36 = &raw mut (*_3); // scope 10 at $DIR/address-of.rs:28:5: 28:6
244 AscribeUserType(_36, o, UserTypeProjection { base: UserType(20), projs: [] }); // scope 10 at $DIR/address-of.rs:28:5: 28:16
245 _35 = _36; // scope 10 at $DIR/address-of.rs:28:5: 28:16
246 StorageDead(_36); // scope 10 at $DIR/address-of.rs:28:16: 28:17
247 StorageDead(_35); // scope 10 at $DIR/address-of.rs:28:16: 28:17
248 StorageLive(_37); // scope 10 at $DIR/address-of.rs:29:5: 29:24
249 _37 = &raw mut (*_3); // scope 10 at $DIR/address-of.rs:29:5: 29:6
250 StorageDead(_37); // scope 10 at $DIR/address-of.rs:29:24: 29:25
251 StorageLive(_38); // scope 10 at $DIR/address-of.rs:30:5: 30:23
252 StorageLive(_39); // scope 10 at $DIR/address-of.rs:30:5: 30:23
253 StorageLive(_40); // scope 10 at $DIR/address-of.rs:30:5: 30:6
254 _40 = &raw mut (*_3); // scope 10 at $DIR/address-of.rs:30:5: 30:6
255 _39 = move _40 as *mut dyn std::marker::Send (Pointer(Unsize)); // scope 10 at $DIR/address-of.rs:30:5: 30:6
256 StorageDead(_40); // scope 10 at $DIR/address-of.rs:30:5: 30:6
257 AscribeUserType(_39, o, UserTypeProjection { base: UserType(21), projs: [] }); // scope 10 at $DIR/address-of.rs:30:5: 30:23
258 _38 = _39; // scope 10 at $DIR/address-of.rs:30:5: 30:23
259 StorageDead(_39); // scope 10 at $DIR/address-of.rs:30:23: 30:24
260 StorageDead(_38); // scope 10 at $DIR/address-of.rs:30:23: 30:24
261 StorageLive(_41); // scope 10 at $DIR/address-of.rs:31:5: 31:20
262 StorageLive(_42); // scope 10 at $DIR/address-of.rs:31:5: 31:6
263 _42 = &raw mut (*_3); // scope 10 at $DIR/address-of.rs:31:5: 31:6
264 _41 = move _42 as *mut [i32] (Pointer(Unsize)); // scope 10 at $DIR/address-of.rs:31:5: 31:6
265 StorageDead(_42); // scope 10 at $DIR/address-of.rs:31:5: 31:6
266 StorageDead(_41); // scope 10 at $DIR/address-of.rs:31:20: 31:21
267 StorageLive(_43); // scope 10 at $DIR/address-of.rs:33:9: 33:10
268 _43 = &raw mut (*_3); // scope 10 at $DIR/address-of.rs:33:21: 33:22
269 FakeRead(ForLet(None), _43); // scope 10 at $DIR/address-of.rs:33:9: 33:10
270 AscribeUserType(_43, o, UserTypeProjection { base: UserType(23), projs: [] }); // scope 10 at $DIR/address-of.rs:33:12: 33:18
271 StorageLive(_44); // scope 11 at $DIR/address-of.rs:34:9: 34:10
272 _44 = &raw mut (*_3); // scope 11 at $DIR/address-of.rs:34:29: 34:30
273 FakeRead(ForLet(None), _44); // scope 11 at $DIR/address-of.rs:34:9: 34:10
274 AscribeUserType(_44, o, UserTypeProjection { base: UserType(25), projs: [] }); // scope 11 at $DIR/address-of.rs:34:12: 34:26
275 StorageLive(_45); // scope 12 at $DIR/address-of.rs:35:9: 35:10
276 StorageLive(_46); // scope 12 at $DIR/address-of.rs:35:28: 35:29
277 _46 = &raw mut (*_3); // scope 12 at $DIR/address-of.rs:35:28: 35:29
278 _45 = move _46 as *mut dyn std::marker::Send (Pointer(Unsize)); // scope 12 at $DIR/address-of.rs:35:28: 35:29
279 StorageDead(_46); // scope 12 at $DIR/address-of.rs:35:28: 35:29
280 FakeRead(ForLet(None), _45); // scope 12 at $DIR/address-of.rs:35:9: 35:10
281 AscribeUserType(_45, o, UserTypeProjection { base: UserType(27), projs: [] }); // scope 12 at $DIR/address-of.rs:35:12: 35:25
282 StorageLive(_47); // scope 13 at $DIR/address-of.rs:36:9: 36:10
283 StorageLive(_48); // scope 13 at $DIR/address-of.rs:36:25: 36:26
284 _48 = &raw mut (*_3); // scope 13 at $DIR/address-of.rs:36:25: 36:26
285 _47 = move _48 as *mut [i32] (Pointer(Unsize)); // scope 13 at $DIR/address-of.rs:36:25: 36:26
286 StorageDead(_48); // scope 13 at $DIR/address-of.rs:36:25: 36:26
287 FakeRead(ForLet(None), _47); // scope 13 at $DIR/address-of.rs:36:9: 36:10
288 AscribeUserType(_47, o, UserTypeProjection { base: UserType(29), projs: [] }); // scope 13 at $DIR/address-of.rs:36:12: 36:22
289 _0 = const (); // scope 0 at $DIR/address-of.rs:3:26: 37:2
290 StorageDead(_47); // scope 13 at $DIR/address-of.rs:37:1: 37:2
291 StorageDead(_45); // scope 12 at $DIR/address-of.rs:37:1: 37:2
292 StorageDead(_44); // scope 11 at $DIR/address-of.rs:37:1: 37:2
293 StorageDead(_43); // scope 10 at $DIR/address-of.rs:37:1: 37:2
294 StorageDead(_33); // scope 9 at $DIR/address-of.rs:37:1: 37:2
295 StorageDead(_31); // scope 8 at $DIR/address-of.rs:37:1: 37:2
296 StorageDead(_30); // scope 7 at $DIR/address-of.rs:37:1: 37:2
297 StorageDead(_29); // scope 6 at $DIR/address-of.rs:37:1: 37:2
298 StorageDead(_19); // scope 5 at $DIR/address-of.rs:37:1: 37:2
299 StorageDead(_17); // scope 4 at $DIR/address-of.rs:37:1: 37:2
300 StorageDead(_16); // scope 3 at $DIR/address-of.rs:37:1: 37:2
301 StorageDead(_15); // scope 2 at $DIR/address-of.rs:37:1: 37:2
302 StorageDead(_4); // scope 1 at $DIR/address-of.rs:37:1: 37:2
303 StorageDead(_3); // scope 1 at $DIR/address-of.rs:37:1: 37:2
304 StorageDead(_2); // scope 0 at $DIR/address-of.rs:37:1: 37:2
305 StorageDead(_1); // scope 0 at $DIR/address-of.rs:37:1: 37:2
306 return; // scope 0 at $DIR/address-of.rs:37:2: 37:2