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