]> git.lizzy.rs Git - rust.git/blob - tests/mir-opt/address_of.address_of_reborrow.SimplifyCfg-initial.after.mir
Rollup merge of #107770 - notriddle:notriddle/br2nl, r=GuillaumeGomez
[rust.git] / tests / 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 }