// MIR for `address_of_reborrow` after SimplifyCfg-initial

| User Type Annotations
| 0: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*const ^0) } at $DIR/address-of.rs:7:5: 7:18
| 1: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*const dyn std::marker::Send) } at $DIR/address-of.rs:9:5: 9:25
| 2: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*const ^0) } at $DIR/address-of.rs:13:12: 13:20
| 3: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*const ^0) } at $DIR/address-of.rs:13:12: 13:20
| 4: Canonical { max_universe: U0, variables: [], value: Ty(*const [i32; 10]) } at $DIR/address-of.rs:14:12: 14:28
| 5: Canonical { max_universe: U0, variables: [], value: Ty(*const [i32; 10]) } at $DIR/address-of.rs:14:12: 14:28
| 6: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*const dyn std::marker::Send) } at $DIR/address-of.rs:15:12: 15:27
| 7: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*const dyn std::marker::Send) } at $DIR/address-of.rs:15:12: 15:27
| 8: Canonical { max_universe: U0, variables: [], value: Ty(*const [i32]) } at $DIR/address-of.rs:16:12: 16:24
| 9: Canonical { max_universe: U0, variables: [], value: Ty(*const [i32]) } at $DIR/address-of.rs:16:12: 16:24
| 10: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*const ^0) } at $DIR/address-of.rs:18:5: 18:18
| 11: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*const dyn std::marker::Send) } at $DIR/address-of.rs:20:5: 20:25
| 12: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*const ^0) } at $DIR/address-of.rs:23:12: 23:20
| 13: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*const ^0) } at $DIR/address-of.rs:23:12: 23:20
| 14: Canonical { max_universe: U0, variables: [], value: Ty(*const [i32; 10]) } at $DIR/address-of.rs:24:12: 24:28
| 15: Canonical { max_universe: U0, variables: [], value: Ty(*const [i32; 10]) } at $DIR/address-of.rs:24:12: 24:28
| 16: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*const dyn std::marker::Send) } at $DIR/address-of.rs:25:12: 25:27
| 17: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*const dyn std::marker::Send) } at $DIR/address-of.rs:25:12: 25:27
| 18: Canonical { max_universe: U0, variables: [], value: Ty(*const [i32]) } at $DIR/address-of.rs:26:12: 26:24
| 19: Canonical { max_universe: U0, variables: [], value: Ty(*const [i32]) } at $DIR/address-of.rs:26:12: 26:24
| 20: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*mut ^0) } at $DIR/address-of.rs:28:5: 28:16
| 21: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*mut dyn std::marker::Send) } at $DIR/address-of.rs:30:5: 30:23
| 22: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*mut ^0) } at $DIR/address-of.rs:33:12: 33:18
| 23: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }], value: Ty(*mut ^0) } at $DIR/address-of.rs:33:12: 33:18
| 24: Canonical { max_universe: U0, variables: [], value: Ty(*mut [i32; 10]) } at $DIR/address-of.rs:34:12: 34:26
| 25: Canonical { max_universe: U0, variables: [], value: Ty(*mut [i32; 10]) } at $DIR/address-of.rs:34:12: 34:26
| 26: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*mut dyn std::marker::Send) } at $DIR/address-of.rs:35:12: 35:25
| 27: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }], value: Ty(*mut dyn std::marker::Send) } at $DIR/address-of.rs:35:12: 35:25
| 28: Canonical { max_universe: U0, variables: [], value: Ty(*mut [i32]) } at $DIR/address-of.rs:36:12: 36:22
| 29: Canonical { max_universe: U0, variables: [], value: Ty(*mut [i32]) } at $DIR/address-of.rs:36:12: 36:22
|
fn address_of_reborrow() -> () {
    let mut _0: ();                      // return place in scope 0 at $DIR/address-of.rs:3:26: 3:26
    let _1: &[i32; 10];                  // in scope 0 at $DIR/address-of.rs:4:9: 4:10
    let _2: [i32; 10];                   // in scope 0 at $DIR/address-of.rs:4:14: 4:21
    let mut _4: [i32; 10];               // in scope 0 at $DIR/address-of.rs:5:22: 5:29
    let _5: *const [i32; 10];            // in scope 0 at $DIR/address-of.rs:7:5: 7:18
    let mut _6: *const [i32; 10];        // in scope 0 at $DIR/address-of.rs:7:5: 7:18
    let _7: *const [i32; 10];            // in scope 0 at $DIR/address-of.rs:8:5: 8:26
    let _8: *const dyn std::marker::Send; // in scope 0 at $DIR/address-of.rs:9:5: 9:25
    let mut _9: *const dyn std::marker::Send; // in scope 0 at $DIR/address-of.rs:9:5: 9:25
    let mut _10: *const [i32; 10];       // in scope 0 at $DIR/address-of.rs:9:5: 9:6
    let _11: *const [i32];               // in scope 0 at $DIR/address-of.rs:10:5: 10:22
    let mut _12: *const [i32; 10];       // in scope 0 at $DIR/address-of.rs:10:5: 10:6
    let _13: *const i32;                 // in scope 0 at $DIR/address-of.rs:11:5: 11:20
    let mut _14: *const [i32; 10];       // in scope 0 at $DIR/address-of.rs:11:5: 11:6
    let mut _18: *const [i32; 10];       // in scope 0 at $DIR/address-of.rs:15:30: 15:31
    let mut _20: *const [i32; 10];       // in scope 0 at $DIR/address-of.rs:16:27: 16:28
    let _21: *const [i32; 10];           // in scope 0 at $DIR/address-of.rs:18:5: 18:18
    let mut _22: *const [i32; 10];       // in scope 0 at $DIR/address-of.rs:18:5: 18:18
    let _23: *const [i32; 10];           // in scope 0 at $DIR/address-of.rs:19:5: 19:26
    let _24: *const dyn std::marker::Send; // in scope 0 at $DIR/address-of.rs:20:5: 20:25
    let mut _25: *const dyn std::marker::Send; // in scope 0 at $DIR/address-of.rs:20:5: 20:25
    let mut _26: *const [i32; 10];       // in scope 0 at $DIR/address-of.rs:20:5: 20:6
    let _27: *const [i32];               // in scope 0 at $DIR/address-of.rs:21:5: 21:22
    let mut _28: *const [i32; 10];       // in scope 0 at $DIR/address-of.rs:21:5: 21:6
    let mut _32: *const [i32; 10];       // in scope 0 at $DIR/address-of.rs:25:30: 25:31
    let mut _34: *const [i32; 10];       // in scope 0 at $DIR/address-of.rs:26:27: 26:28
    let _35: *mut [i32; 10];             // in scope 0 at $DIR/address-of.rs:28:5: 28:16
    let mut _36: *mut [i32; 10];         // in scope 0 at $DIR/address-of.rs:28:5: 28:16
    let _37: *mut [i32; 10];             // in scope 0 at $DIR/address-of.rs:29:5: 29:24
    let _38: *mut dyn std::marker::Send; // in scope 0 at $DIR/address-of.rs:30:5: 30:23
    let mut _39: *mut dyn std::marker::Send; // in scope 0 at $DIR/address-of.rs:30:5: 30:23
    let mut _40: *mut [i32; 10];         // in scope 0 at $DIR/address-of.rs:30:5: 30:6
    let _41: *mut [i32];                 // in scope 0 at $DIR/address-of.rs:31:5: 31:20
    let mut _42: *mut [i32; 10];         // in scope 0 at $DIR/address-of.rs:31:5: 31:6
    let mut _46: *mut [i32; 10];         // in scope 0 at $DIR/address-of.rs:35:28: 35:29
    let mut _48: *mut [i32; 10];         // in scope 0 at $DIR/address-of.rs:36:25: 36:26
    scope 1 {
        debug y => _1;                   // in scope 1 at $DIR/address-of.rs:4:9: 4:10
        let mut _3: &mut [i32; 10];      // in scope 1 at $DIR/address-of.rs:5:9: 5:14
        scope 2 {
            debug z => _3;               // in scope 2 at $DIR/address-of.rs:5:9: 5:14
            let _15: *const [i32; 10] as UserTypeProjection { base: UserType(2), projs: [] }; // in scope 2 at $DIR/address-of.rs:13:9: 13:10
            scope 3 {
                debug p => _15;          // in scope 3 at $DIR/address-of.rs:13:9: 13:10
                let _16: *const [i32; 10] as UserTypeProjection { base: UserType(4), projs: [] }; // in scope 3 at $DIR/address-of.rs:14:9: 14:10
                scope 4 {
                    debug p => _16;      // in scope 4 at $DIR/address-of.rs:14:9: 14:10
                    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
                    scope 5 {
                        debug p => _17;  // in scope 5 at $DIR/address-of.rs:15:9: 15:10
                        let _19: *const [i32] as UserTypeProjection { base: UserType(8), projs: [] }; // in scope 5 at $DIR/address-of.rs:16:9: 16:10
                        scope 6 {
                            debug p => _19; // in scope 6 at $DIR/address-of.rs:16:9: 16:10
                            let _29: *const [i32; 10] as UserTypeProjection { base: UserType(12), projs: [] }; // in scope 6 at $DIR/address-of.rs:23:9: 23:10
                            scope 7 {
                                debug p => _29; // in scope 7 at $DIR/address-of.rs:23:9: 23:10
                                let _30: *const [i32; 10] as UserTypeProjection { base: UserType(14), projs: [] }; // in scope 7 at $DIR/address-of.rs:24:9: 24:10
                                scope 8 {
                                    debug p => _30; // in scope 8 at $DIR/address-of.rs:24:9: 24:10
                                    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
                                    scope 9 {
                                        debug p => _31; // in scope 9 at $DIR/address-of.rs:25:9: 25:10
                                        let _33: *const [i32] as UserTypeProjection { base: UserType(18), projs: [] }; // in scope 9 at $DIR/address-of.rs:26:9: 26:10
                                        scope 10 {
                                            debug p => _33; // in scope 10 at $DIR/address-of.rs:26:9: 26:10
                                            let _43: *mut [i32; 10] as UserTypeProjection { base: UserType(22), projs: [] }; // in scope 10 at $DIR/address-of.rs:33:9: 33:10
                                            scope 11 {
                                                debug p => _43; // in scope 11 at $DIR/address-of.rs:33:9: 33:10
                                                let _44: *mut [i32; 10] as UserTypeProjection { base: UserType(24), projs: [] }; // in scope 11 at $DIR/address-of.rs:34:9: 34:10
                                                scope 12 {
                                                    debug p => _44; // in scope 12 at $DIR/address-of.rs:34:9: 34:10
                                                    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
                                                    scope 13 {
                                                        debug p => _45; // in scope 13 at $DIR/address-of.rs:35:9: 35:10
                                                        let _47: *mut [i32] as UserTypeProjection { base: UserType(28), projs: [] }; // in scope 13 at $DIR/address-of.rs:36:9: 36:10
                                                        scope 14 {
                                                            debug p => _47; // in scope 14 at $DIR/address-of.rs:36:9: 36:10
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }

    bb0: {
        StorageLive(_1);                 // scope 0 at $DIR/address-of.rs:4:9: 4:10
        StorageLive(_2);                 // scope 0 at $DIR/address-of.rs:4:14: 4:21
        _2 = [const 0_i32; 10];          // scope 0 at $DIR/address-of.rs:4:14: 4:21
        _1 = &_2;                        // scope 0 at $DIR/address-of.rs:4:13: 4:21
        FakeRead(ForLet(None), _1);      // scope 0 at $DIR/address-of.rs:4:9: 4:10
        StorageLive(_3);                 // scope 1 at $DIR/address-of.rs:5:9: 5:14
        StorageLive(_4);                 // scope 1 at $DIR/address-of.rs:5:22: 5:29
        _4 = [const 0_i32; 10];          // scope 1 at $DIR/address-of.rs:5:22: 5:29
        _3 = &mut _4;                    // scope 1 at $DIR/address-of.rs:5:17: 5:29
        FakeRead(ForLet(None), _3);      // scope 1 at $DIR/address-of.rs:5:9: 5:14
        StorageLive(_5);                 // scope 2 at $DIR/address-of.rs:7:5: 7:18
        StorageLive(_6);                 // scope 2 at $DIR/address-of.rs:7:5: 7:18
        _6 = &raw const (*_1);           // scope 2 at $DIR/address-of.rs:7:5: 7:6
        AscribeUserType(_6, o, UserTypeProjection { base: UserType(0), projs: [] }); // scope 2 at $DIR/address-of.rs:7:5: 7:18
        _5 = _6;                         // scope 2 at $DIR/address-of.rs:7:5: 7:18
        StorageDead(_6);                 // scope 2 at $DIR/address-of.rs:7:18: 7:19
        StorageDead(_5);                 // scope 2 at $DIR/address-of.rs:7:18: 7:19
        StorageLive(_7);                 // scope 2 at $DIR/address-of.rs:8:5: 8:26
        _7 = &raw const (*_1);           // scope 2 at $DIR/address-of.rs:8:5: 8:6
        StorageDead(_7);                 // scope 2 at $DIR/address-of.rs:8:26: 8:27
        StorageLive(_8);                 // scope 2 at $DIR/address-of.rs:9:5: 9:25
        StorageLive(_9);                 // scope 2 at $DIR/address-of.rs:9:5: 9:25
        StorageLive(_10);                // scope 2 at $DIR/address-of.rs:9:5: 9:6
        _10 = &raw const (*_1);          // scope 2 at $DIR/address-of.rs:9:5: 9:6
        _9 = move _10 as *const dyn std::marker::Send (Pointer(Unsize)); // scope 2 at $DIR/address-of.rs:9:5: 9:6
        StorageDead(_10);                // scope 2 at $DIR/address-of.rs:9:5: 9:6
        AscribeUserType(_9, o, UserTypeProjection { base: UserType(1), projs: [] }); // scope 2 at $DIR/address-of.rs:9:5: 9:25
        _8 = _9;                         // scope 2 at $DIR/address-of.rs:9:5: 9:25
        StorageDead(_9);                 // scope 2 at $DIR/address-of.rs:9:25: 9:26
        StorageDead(_8);                 // scope 2 at $DIR/address-of.rs:9:25: 9:26
        StorageLive(_11);                // scope 2 at $DIR/address-of.rs:10:5: 10:22
        StorageLive(_12);                // scope 2 at $DIR/address-of.rs:10:5: 10:6
        _12 = &raw const (*_1);          // scope 2 at $DIR/address-of.rs:10:5: 10:6
        _11 = move _12 as *const [i32] (Pointer(Unsize)); // scope 2 at $DIR/address-of.rs:10:5: 10:6
        StorageDead(_12);                // scope 2 at $DIR/address-of.rs:10:5: 10:6
        StorageDead(_11);                // scope 2 at $DIR/address-of.rs:10:22: 10:23
        StorageLive(_13);                // scope 2 at $DIR/address-of.rs:11:5: 11:20
        StorageLive(_14);                // scope 2 at $DIR/address-of.rs:11:5: 11:6
        _14 = &raw const (*_1);          // scope 2 at $DIR/address-of.rs:11:5: 11:6
        _13 = move _14 as *const i32 (Pointer(ArrayToPointer)); // scope 2 at $DIR/address-of.rs:11:5: 11:20
        StorageDead(_14);                // scope 2 at $DIR/address-of.rs:11:19: 11:20
        StorageDead(_13);                // scope 2 at $DIR/address-of.rs:11:20: 11:21
        StorageLive(_15);                // scope 2 at $DIR/address-of.rs:13:9: 13:10
        _15 = &raw const (*_1);          // scope 2 at $DIR/address-of.rs:13:23: 13:24
        FakeRead(ForLet(None), _15);     // scope 2 at $DIR/address-of.rs:13:9: 13:10
        AscribeUserType(_15, o, UserTypeProjection { base: UserType(3), projs: [] }); // scope 2 at $DIR/address-of.rs:13:12: 13:20
        StorageLive(_16);                // scope 3 at $DIR/address-of.rs:14:9: 14:10
        _16 = &raw const (*_1);          // scope 3 at $DIR/address-of.rs:14:31: 14:32
        FakeRead(ForLet(None), _16);     // scope 3 at $DIR/address-of.rs:14:9: 14:10
        AscribeUserType(_16, o, UserTypeProjection { base: UserType(5), projs: [] }); // scope 3 at $DIR/address-of.rs:14:12: 14:28
        StorageLive(_17);                // scope 4 at $DIR/address-of.rs:15:9: 15:10
        StorageLive(_18);                // scope 4 at $DIR/address-of.rs:15:30: 15:31
        _18 = &raw const (*_1);          // scope 4 at $DIR/address-of.rs:15:30: 15:31
        _17 = move _18 as *const dyn std::marker::Send (Pointer(Unsize)); // scope 4 at $DIR/address-of.rs:15:30: 15:31
        StorageDead(_18);                // scope 4 at $DIR/address-of.rs:15:30: 15:31
        FakeRead(ForLet(None), _17);     // scope 4 at $DIR/address-of.rs:15:9: 15:10
        AscribeUserType(_17, o, UserTypeProjection { base: UserType(7), projs: [] }); // scope 4 at $DIR/address-of.rs:15:12: 15:27
        StorageLive(_19);                // scope 5 at $DIR/address-of.rs:16:9: 16:10
        StorageLive(_20);                // scope 5 at $DIR/address-of.rs:16:27: 16:28
        _20 = &raw const (*_1);          // scope 5 at $DIR/address-of.rs:16:27: 16:28
        _19 = move _20 as *const [i32] (Pointer(Unsize)); // scope 5 at $DIR/address-of.rs:16:27: 16:28
        StorageDead(_20);                // scope 5 at $DIR/address-of.rs:16:27: 16:28
        FakeRead(ForLet(None), _19);     // scope 5 at $DIR/address-of.rs:16:9: 16:10
        AscribeUserType(_19, o, UserTypeProjection { base: UserType(9), projs: [] }); // scope 5 at $DIR/address-of.rs:16:12: 16:24
        StorageLive(_21);                // scope 6 at $DIR/address-of.rs:18:5: 18:18
        StorageLive(_22);                // scope 6 at $DIR/address-of.rs:18:5: 18:18
        _22 = &raw const (*_3);          // scope 6 at $DIR/address-of.rs:18:5: 18:6
        AscribeUserType(_22, o, UserTypeProjection { base: UserType(10), projs: [] }); // scope 6 at $DIR/address-of.rs:18:5: 18:18
        _21 = _22;                       // scope 6 at $DIR/address-of.rs:18:5: 18:18
        StorageDead(_22);                // scope 6 at $DIR/address-of.rs:18:18: 18:19
        StorageDead(_21);                // scope 6 at $DIR/address-of.rs:18:18: 18:19
        StorageLive(_23);                // scope 6 at $DIR/address-of.rs:19:5: 19:26
        _23 = &raw const (*_3);          // scope 6 at $DIR/address-of.rs:19:5: 19:6
        StorageDead(_23);                // scope 6 at $DIR/address-of.rs:19:26: 19:27
        StorageLive(_24);                // scope 6 at $DIR/address-of.rs:20:5: 20:25
        StorageLive(_25);                // scope 6 at $DIR/address-of.rs:20:5: 20:25
        StorageLive(_26);                // scope 6 at $DIR/address-of.rs:20:5: 20:6
        _26 = &raw const (*_3);          // scope 6 at $DIR/address-of.rs:20:5: 20:6
        _25 = move _26 as *const dyn std::marker::Send (Pointer(Unsize)); // scope 6 at $DIR/address-of.rs:20:5: 20:6
        StorageDead(_26);                // scope 6 at $DIR/address-of.rs:20:5: 20:6
        AscribeUserType(_25, o, UserTypeProjection { base: UserType(11), projs: [] }); // scope 6 at $DIR/address-of.rs:20:5: 20:25
        _24 = _25;                       // scope 6 at $DIR/address-of.rs:20:5: 20:25
        StorageDead(_25);                // scope 6 at $DIR/address-of.rs:20:25: 20:26
        StorageDead(_24);                // scope 6 at $DIR/address-of.rs:20:25: 20:26
        StorageLive(_27);                // scope 6 at $DIR/address-of.rs:21:5: 21:22
        StorageLive(_28);                // scope 6 at $DIR/address-of.rs:21:5: 21:6
        _28 = &raw const (*_3);          // scope 6 at $DIR/address-of.rs:21:5: 21:6
        _27 = move _28 as *const [i32] (Pointer(Unsize)); // scope 6 at $DIR/address-of.rs:21:5: 21:6
        StorageDead(_28);                // scope 6 at $DIR/address-of.rs:21:5: 21:6
        StorageDead(_27);                // scope 6 at $DIR/address-of.rs:21:22: 21:23
        StorageLive(_29);                // scope 6 at $DIR/address-of.rs:23:9: 23:10
        _29 = &raw const (*_3);          // scope 6 at $DIR/address-of.rs:23:23: 23:24
        FakeRead(ForLet(None), _29);     // scope 6 at $DIR/address-of.rs:23:9: 23:10
        AscribeUserType(_29, o, UserTypeProjection { base: UserType(13), projs: [] }); // scope 6 at $DIR/address-of.rs:23:12: 23:20
        StorageLive(_30);                // scope 7 at $DIR/address-of.rs:24:9: 24:10
        _30 = &raw const (*_3);          // scope 7 at $DIR/address-of.rs:24:31: 24:32
        FakeRead(ForLet(None), _30);     // scope 7 at $DIR/address-of.rs:24:9: 24:10
        AscribeUserType(_30, o, UserTypeProjection { base: UserType(15), projs: [] }); // scope 7 at $DIR/address-of.rs:24:12: 24:28
        StorageLive(_31);                // scope 8 at $DIR/address-of.rs:25:9: 25:10
        StorageLive(_32);                // scope 8 at $DIR/address-of.rs:25:30: 25:31
        _32 = &raw const (*_3);          // scope 8 at $DIR/address-of.rs:25:30: 25:31
        _31 = move _32 as *const dyn std::marker::Send (Pointer(Unsize)); // scope 8 at $DIR/address-of.rs:25:30: 25:31
        StorageDead(_32);                // scope 8 at $DIR/address-of.rs:25:30: 25:31
        FakeRead(ForLet(None), _31);     // scope 8 at $DIR/address-of.rs:25:9: 25:10
        AscribeUserType(_31, o, UserTypeProjection { base: UserType(17), projs: [] }); // scope 8 at $DIR/address-of.rs:25:12: 25:27
        StorageLive(_33);                // scope 9 at $DIR/address-of.rs:26:9: 26:10
        StorageLive(_34);                // scope 9 at $DIR/address-of.rs:26:27: 26:28
        _34 = &raw const (*_3);          // scope 9 at $DIR/address-of.rs:26:27: 26:28
        _33 = move _34 as *const [i32] (Pointer(Unsize)); // scope 9 at $DIR/address-of.rs:26:27: 26:28
        StorageDead(_34);                // scope 9 at $DIR/address-of.rs:26:27: 26:28
        FakeRead(ForLet(None), _33);     // scope 9 at $DIR/address-of.rs:26:9: 26:10
        AscribeUserType(_33, o, UserTypeProjection { base: UserType(19), projs: [] }); // scope 9 at $DIR/address-of.rs:26:12: 26:24
        StorageLive(_35);                // scope 10 at $DIR/address-of.rs:28:5: 28:16
        StorageLive(_36);                // scope 10 at $DIR/address-of.rs:28:5: 28:16
        _36 = &raw mut (*_3);            // scope 10 at $DIR/address-of.rs:28:5: 28:6
        AscribeUserType(_36, o, UserTypeProjection { base: UserType(20), projs: [] }); // scope 10 at $DIR/address-of.rs:28:5: 28:16
        _35 = _36;                       // scope 10 at $DIR/address-of.rs:28:5: 28:16
        StorageDead(_36);                // scope 10 at $DIR/address-of.rs:28:16: 28:17
        StorageDead(_35);                // scope 10 at $DIR/address-of.rs:28:16: 28:17
        StorageLive(_37);                // scope 10 at $DIR/address-of.rs:29:5: 29:24
        _37 = &raw mut (*_3);            // scope 10 at $DIR/address-of.rs:29:5: 29:6
        StorageDead(_37);                // scope 10 at $DIR/address-of.rs:29:24: 29:25
        StorageLive(_38);                // scope 10 at $DIR/address-of.rs:30:5: 30:23
        StorageLive(_39);                // scope 10 at $DIR/address-of.rs:30:5: 30:23
        StorageLive(_40);                // scope 10 at $DIR/address-of.rs:30:5: 30:6
        _40 = &raw mut (*_3);            // scope 10 at $DIR/address-of.rs:30:5: 30:6
        _39 = move _40 as *mut dyn std::marker::Send (Pointer(Unsize)); // scope 10 at $DIR/address-of.rs:30:5: 30:6
        StorageDead(_40);                // scope 10 at $DIR/address-of.rs:30:5: 30:6
        AscribeUserType(_39, o, UserTypeProjection { base: UserType(21), projs: [] }); // scope 10 at $DIR/address-of.rs:30:5: 30:23
        _38 = _39;                       // scope 10 at $DIR/address-of.rs:30:5: 30:23
        StorageDead(_39);                // scope 10 at $DIR/address-of.rs:30:23: 30:24
        StorageDead(_38);                // scope 10 at $DIR/address-of.rs:30:23: 30:24
        StorageLive(_41);                // scope 10 at $DIR/address-of.rs:31:5: 31:20
        StorageLive(_42);                // scope 10 at $DIR/address-of.rs:31:5: 31:6
        _42 = &raw mut (*_3);            // scope 10 at $DIR/address-of.rs:31:5: 31:6
        _41 = move _42 as *mut [i32] (Pointer(Unsize)); // scope 10 at $DIR/address-of.rs:31:5: 31:6
        StorageDead(_42);                // scope 10 at $DIR/address-of.rs:31:5: 31:6
        StorageDead(_41);                // scope 10 at $DIR/address-of.rs:31:20: 31:21
        StorageLive(_43);                // scope 10 at $DIR/address-of.rs:33:9: 33:10
        _43 = &raw mut (*_3);            // scope 10 at $DIR/address-of.rs:33:21: 33:22
        FakeRead(ForLet(None), _43);     // scope 10 at $DIR/address-of.rs:33:9: 33:10
        AscribeUserType(_43, o, UserTypeProjection { base: UserType(23), projs: [] }); // scope 10 at $DIR/address-of.rs:33:12: 33:18
        StorageLive(_44);                // scope 11 at $DIR/address-of.rs:34:9: 34:10
        _44 = &raw mut (*_3);            // scope 11 at $DIR/address-of.rs:34:29: 34:30
        FakeRead(ForLet(None), _44);     // scope 11 at $DIR/address-of.rs:34:9: 34:10
        AscribeUserType(_44, o, UserTypeProjection { base: UserType(25), projs: [] }); // scope 11 at $DIR/address-of.rs:34:12: 34:26
        StorageLive(_45);                // scope 12 at $DIR/address-of.rs:35:9: 35:10
        StorageLive(_46);                // scope 12 at $DIR/address-of.rs:35:28: 35:29
        _46 = &raw mut (*_3);            // scope 12 at $DIR/address-of.rs:35:28: 35:29
        _45 = move _46 as *mut dyn std::marker::Send (Pointer(Unsize)); // scope 12 at $DIR/address-of.rs:35:28: 35:29
        StorageDead(_46);                // scope 12 at $DIR/address-of.rs:35:28: 35:29
        FakeRead(ForLet(None), _45);     // scope 12 at $DIR/address-of.rs:35:9: 35:10
        AscribeUserType(_45, o, UserTypeProjection { base: UserType(27), projs: [] }); // scope 12 at $DIR/address-of.rs:35:12: 35:25
        StorageLive(_47);                // scope 13 at $DIR/address-of.rs:36:9: 36:10
        StorageLive(_48);                // scope 13 at $DIR/address-of.rs:36:25: 36:26
        _48 = &raw mut (*_3);            // scope 13 at $DIR/address-of.rs:36:25: 36:26
        _47 = move _48 as *mut [i32] (Pointer(Unsize)); // scope 13 at $DIR/address-of.rs:36:25: 36:26
        StorageDead(_48);                // scope 13 at $DIR/address-of.rs:36:25: 36:26
        FakeRead(ForLet(None), _47);     // scope 13 at $DIR/address-of.rs:36:9: 36:10
        AscribeUserType(_47, o, UserTypeProjection { base: UserType(29), projs: [] }); // scope 13 at $DIR/address-of.rs:36:12: 36:22
        _0 = const ();                   // scope 0 at $DIR/address-of.rs:3:26: 37:2
        StorageDead(_47);                // scope 13 at $DIR/address-of.rs:37:1: 37:2
        StorageDead(_45);                // scope 12 at $DIR/address-of.rs:37:1: 37:2
        StorageDead(_44);                // scope 11 at $DIR/address-of.rs:37:1: 37:2
        StorageDead(_43);                // scope 10 at $DIR/address-of.rs:37:1: 37:2
        StorageDead(_33);                // scope 9 at $DIR/address-of.rs:37:1: 37:2
        StorageDead(_31);                // scope 8 at $DIR/address-of.rs:37:1: 37:2
        StorageDead(_30);                // scope 7 at $DIR/address-of.rs:37:1: 37:2
        StorageDead(_29);                // scope 6 at $DIR/address-of.rs:37:1: 37:2
        StorageDead(_19);                // scope 5 at $DIR/address-of.rs:37:1: 37:2
        StorageDead(_17);                // scope 4 at $DIR/address-of.rs:37:1: 37:2
        StorageDead(_16);                // scope 3 at $DIR/address-of.rs:37:1: 37:2
        StorageDead(_15);                // scope 2 at $DIR/address-of.rs:37:1: 37:2
        StorageDead(_4);                 // scope 1 at $DIR/address-of.rs:37:1: 37:2
        StorageDead(_3);                 // scope 1 at $DIR/address-of.rs:37:1: 37:2
        StorageDead(_2);                 // scope 0 at $DIR/address-of.rs:37:1: 37:2
        StorageDead(_1);                 // scope 0 at $DIR/address-of.rs:37:1: 37:2
        return;                          // scope 0 at $DIR/address-of.rs:37:2: 37:2
    }
}
