- // MIR for `reference_propagation_const_ptr` before ReferencePropagation + // MIR for `reference_propagation_const_ptr` after ReferencePropagation fn reference_propagation_const_ptr(_1: *const T, _2: *const T) -> () { debug single => _1; // in scope 0 at $DIR/reference_prop.rs:+0:45: +0:51 debug multiple => _2; // in scope 0 at $DIR/reference_prop.rs:+0:63: +0:75 let mut _0: (); // return place in scope 0 at $DIR/reference_prop.rs:+0:87: +0:87 let _3: (); // in scope 0 at $DIR/reference_prop.rs:+2:5: +7:6 let _7: (); // in scope 0 at $DIR/reference_prop.rs:+6:9: +6:19 let mut _8: (); // in scope 0 at $DIR/reference_prop.rs:+6:16: +6:18 let _9: (); // in scope 0 at $DIR/reference_prop.rs:+10:5: +18:6 let mut _13: *const usize; // in scope 0 at $DIR/reference_prop.rs:+14:13: +14:26 let _15: (); // in scope 0 at $DIR/reference_prop.rs:+17:9: +17:19 let mut _16: (); // in scope 0 at $DIR/reference_prop.rs:+17:16: +17:18 let _17: (); // in scope 0 at $DIR/reference_prop.rs:+21:5: +27:6 let _22: (); // in scope 0 at $DIR/reference_prop.rs:+26:9: +26:18 let mut _23: &*const usize; // in scope 0 at $DIR/reference_prop.rs:+26:16: +26:17 let _24: (); // in scope 0 at $DIR/reference_prop.rs:+30:5: +36:6 let _29: (); // in scope 0 at $DIR/reference_prop.rs:+35:9: +35:18 let mut _30: *mut *const usize; // in scope 0 at $DIR/reference_prop.rs:+35:16: +35:17 let _31: (); // in scope 0 at $DIR/reference_prop.rs:+39:5: +44:6 let _35: (); // in scope 0 at $DIR/reference_prop.rs:+43:9: +43:18 let mut _36: *const usize; // in scope 0 at $DIR/reference_prop.rs:+43:16: +43:17 let _37: (); // in scope 0 at $DIR/reference_prop.rs:+47:5: +57:6 let _44: (); // in scope 0 at $DIR/reference_prop.rs:+56:9: +56:19 let mut _45: *const usize; // in scope 0 at $DIR/reference_prop.rs:+56:16: +56:18 let _46: (); // in scope 0 at $DIR/reference_prop.rs:+60:5: +64:6 let _49: (); // in scope 0 at $DIR/reference_prop.rs:+63:9: +63:19 let mut _50: (); // in scope 0 at $DIR/reference_prop.rs:+63:16: +63:18 let _51: (); // in scope 0 at $DIR/reference_prop.rs:+67:5: +72:6 let mut _53: *const T; // in scope 0 at $DIR/reference_prop.rs:+69:20: +69:38 let _55: (); // in scope 0 at $DIR/reference_prop.rs:+71:9: +71:19 let mut _56: (); // in scope 0 at $DIR/reference_prop.rs:+71:16: +71:18 let _57: (); // in scope 0 at $DIR/reference_prop.rs:+75:5: +81:6 let _62: (); // in scope 0 at $DIR/reference_prop.rs:+80:9: +80:19 let mut _63: (); // in scope 0 at $DIR/reference_prop.rs:+80:16: +80:18 let _64: (); // in scope 0 at $DIR/reference_prop.rs:+84:5: +90:6 let _69: (); // in scope 0 at $DIR/reference_prop.rs:+89:9: +89:19 let mut _70: (); // in scope 0 at $DIR/reference_prop.rs:+89:16: +89:18 let _75: (); // in scope 0 at $DIR/reference_prop.rs:+98:9: +98:19 let mut _76: (); // in scope 0 at $DIR/reference_prop.rs:+98:16: +98:18 scope 1 { let _4: usize; // in scope 1 at $DIR/reference_prop.rs:+3:13: +3:14 scope 2 { debug a => _4; // in scope 2 at $DIR/reference_prop.rs:+3:13: +3:14 let _5: *const usize; // in scope 2 at $DIR/reference_prop.rs:+4:13: +4:14 scope 3 { - debug b => _5; // in scope 3 at $DIR/reference_prop.rs:+4:13: +4:14 + debug b => &_4; // in scope 3 at $DIR/reference_prop.rs:+4:13: +4:14 let _6: usize; // in scope 3 at $DIR/reference_prop.rs:+5:13: +5:14 scope 4 { debug c => _6; // in scope 4 at $DIR/reference_prop.rs:+5:13: +5:14 } } } } scope 5 { let _10: usize; // in scope 5 at $DIR/reference_prop.rs:+11:13: +11:14 scope 6 { debug a => _10; // in scope 6 at $DIR/reference_prop.rs:+11:13: +11:14 let _11: usize; // in scope 6 at $DIR/reference_prop.rs:+12:13: +12:15 scope 7 { debug a2 => _11; // in scope 7 at $DIR/reference_prop.rs:+12:13: +12:15 let mut _12: *const usize; // in scope 7 at $DIR/reference_prop.rs:+13:13: +13:18 scope 8 { debug b => _12; // in scope 8 at $DIR/reference_prop.rs:+13:13: +13:18 let _14: usize; // in scope 8 at $DIR/reference_prop.rs:+16:13: +16:14 scope 9 { debug c => _14; // in scope 9 at $DIR/reference_prop.rs:+16:13: +16:14 } } } } } scope 10 { let _18: usize; // in scope 10 at $DIR/reference_prop.rs:+22:13: +22:14 scope 11 { debug a => _18; // in scope 11 at $DIR/reference_prop.rs:+22:13: +22:14 let _19: *const usize; // in scope 11 at $DIR/reference_prop.rs:+23:13: +23:14 scope 12 { debug b => _19; // in scope 12 at $DIR/reference_prop.rs:+23:13: +23:14 let _20: &*const usize; // in scope 12 at $DIR/reference_prop.rs:+24:13: +24:14 scope 13 { debug d => _20; // in scope 13 at $DIR/reference_prop.rs:+24:13: +24:14 let _21: usize; // in scope 13 at $DIR/reference_prop.rs:+25:13: +25:14 scope 14 { debug c => _21; // in scope 14 at $DIR/reference_prop.rs:+25:13: +25:14 } } } } } scope 15 { let _25: usize; // in scope 15 at $DIR/reference_prop.rs:+31:13: +31:14 scope 16 { debug a => _25; // in scope 16 at $DIR/reference_prop.rs:+31:13: +31:14 let mut _26: *const usize; // in scope 16 at $DIR/reference_prop.rs:+32:13: +32:18 scope 17 { debug b => _26; // in scope 17 at $DIR/reference_prop.rs:+32:13: +32:18 let _27: *mut *const usize; // in scope 17 at $DIR/reference_prop.rs:+33:13: +33:14 scope 18 { debug d => _27; // in scope 18 at $DIR/reference_prop.rs:+33:13: +33:14 let _28: usize; // in scope 18 at $DIR/reference_prop.rs:+34:13: +34:14 scope 19 { debug c => _28; // in scope 19 at $DIR/reference_prop.rs:+34:13: +34:14 } } } } } scope 20 { let _32: usize; // in scope 20 at $DIR/reference_prop.rs:+40:13: +40:14 scope 21 { debug a => _32; // in scope 21 at $DIR/reference_prop.rs:+40:13: +40:14 let _33: *const usize; // in scope 21 at $DIR/reference_prop.rs:+41:13: +41:14 scope 22 { debug b => _33; // in scope 22 at $DIR/reference_prop.rs:+41:13: +41:14 let _34: usize; // in scope 22 at $DIR/reference_prop.rs:+42:13: +42:14 scope 23 { debug c => _34; // in scope 23 at $DIR/reference_prop.rs:+42:13: +42:14 } } } } scope 24 { let _38: usize; // in scope 24 at $DIR/reference_prop.rs:+48:13: +48:14 scope 25 { debug a => _38; // in scope 25 at $DIR/reference_prop.rs:+48:13: +48:14 let _39: *const usize; // in scope 25 at $DIR/reference_prop.rs:+49:13: +49:15 scope 26 { debug b1 => _39; // in scope 26 at $DIR/reference_prop.rs:+49:13: +49:15 let _40: usize; // in scope 26 at $DIR/reference_prop.rs:+50:13: +50:14 scope 27 { debug c => _40; // in scope 27 at $DIR/reference_prop.rs:+50:13: +50:14 let _41: *const usize; // in scope 27 at $DIR/reference_prop.rs:+51:13: +51:15 scope 28 { debug b2 => _41; // in scope 28 at $DIR/reference_prop.rs:+51:13: +51:15 let _42: usize; // in scope 28 at $DIR/reference_prop.rs:+52:13: +52:15 scope 29 { debug c2 => _42; // in scope 29 at $DIR/reference_prop.rs:+52:13: +52:15 let _43: *const usize; // in scope 29 at $DIR/reference_prop.rs:+53:13: +53:15 scope 30 { debug b3 => _43; // in scope 30 at $DIR/reference_prop.rs:+53:13: +53:15 } } } } } } } scope 31 { let _47: *const T; // in scope 31 at $DIR/reference_prop.rs:+61:13: +61:14 scope 32 { - debug a => _47; // in scope 32 at $DIR/reference_prop.rs:+61:13: +61:14 + debug a => _1; // in scope 32 at $DIR/reference_prop.rs:+61:13: +61:14 let _48: T; // in scope 32 at $DIR/reference_prop.rs:+62:13: +62:14 scope 33 { debug b => _48; // in scope 33 at $DIR/reference_prop.rs:+62:13: +62:14 } } } scope 34 { let _52: *const T; // in scope 34 at $DIR/reference_prop.rs:+68:13: +68:14 scope 35 { debug a => _52; // in scope 35 at $DIR/reference_prop.rs:+68:13: +68:14 let _54: T; // in scope 35 at $DIR/reference_prop.rs:+70:13: +70:14 scope 36 { debug b => _54; // in scope 36 at $DIR/reference_prop.rs:+70:13: +70:14 } } } scope 37 { let _58: usize; // in scope 37 at $DIR/reference_prop.rs:+76:13: +76:14 scope 38 { debug a => _58; // in scope 38 at $DIR/reference_prop.rs:+76:13: +76:14 let _59: *const usize; // in scope 38 at $DIR/reference_prop.rs:+77:13: +77:14 scope 39 { - debug b => _59; // in scope 39 at $DIR/reference_prop.rs:+77:13: +77:14 + debug b => &_58; // in scope 39 at $DIR/reference_prop.rs:+77:13: +77:14 let _60: *const usize; // in scope 39 at $DIR/reference_prop.rs:+78:13: +78:14 scope 40 { - debug c => _60; // in scope 40 at $DIR/reference_prop.rs:+78:13: +78:14 + debug c => &_58; // in scope 40 at $DIR/reference_prop.rs:+78:13: +78:14 let _61: usize; // in scope 40 at $DIR/reference_prop.rs:+79:13: +79:14 scope 41 { debug e => _61; // in scope 41 at $DIR/reference_prop.rs:+79:13: +79:14 } } } } } scope 42 { let _65: usize; // in scope 42 at $DIR/reference_prop.rs:+85:13: +85:14 scope 43 { debug a => _65; // in scope 43 at $DIR/reference_prop.rs:+85:13: +85:14 let _66: *const usize; // in scope 43 at $DIR/reference_prop.rs:+86:13: +86:14 scope 44 { - debug b => _66; // in scope 44 at $DIR/reference_prop.rs:+86:13: +86:14 + debug b => &_65; // in scope 44 at $DIR/reference_prop.rs:+86:13: +86:14 let _67: &*const usize; // in scope 44 at $DIR/reference_prop.rs:+87:13: +87:14 scope 45 { - debug d => _67; // in scope 45 at $DIR/reference_prop.rs:+87:13: +87:14 + debug d => &&_65; // in scope 45 at $DIR/reference_prop.rs:+87:13: +87:14 let _68: usize; // in scope 45 at $DIR/reference_prop.rs:+88:13: +88:14 scope 46 { debug c => _68; // in scope 46 at $DIR/reference_prop.rs:+88:13: +88:14 } } } } } scope 47 { let _71: usize; // in scope 47 at $DIR/reference_prop.rs:+94:13: +94:14 scope 48 { debug a => _71; // in scope 48 at $DIR/reference_prop.rs:+94:13: +94:14 let mut _72: *const usize; // in scope 48 at $DIR/reference_prop.rs:+95:13: +95:18 scope 49 { - debug b => _72; // in scope 49 at $DIR/reference_prop.rs:+95:13: +95:18 + debug b => &_71; // in scope 49 at $DIR/reference_prop.rs:+95:13: +95:18 let _73: &mut *const usize; // in scope 49 at $DIR/reference_prop.rs:+96:13: +96:14 scope 50 { - debug d => _73; // in scope 50 at $DIR/reference_prop.rs:+96:13: +96:14 + debug d => &&_71; // in scope 50 at $DIR/reference_prop.rs:+96:13: +96:14 let _74: usize; // in scope 50 at $DIR/reference_prop.rs:+97:13: +97:14 scope 51 { debug c => _74; // in scope 51 at $DIR/reference_prop.rs:+97:13: +97:14 } } } } } bb0: { - StorageLive(_3); // scope 0 at $DIR/reference_prop.rs:+2:5: +7:6 StorageLive(_4); // scope 1 at $DIR/reference_prop.rs:+3:13: +3:14 _4 = const 5_usize; // scope 1 at $DIR/reference_prop.rs:+3:17: +3:24 - StorageLive(_5); // scope 2 at $DIR/reference_prop.rs:+4:13: +4:14 - _5 = &raw const _4; // scope 2 at $DIR/reference_prop.rs:+4:17: +4:29 StorageLive(_6); // scope 3 at $DIR/reference_prop.rs:+5:13: +5:14 - _6 = (*_5); // scope 3 at $DIR/reference_prop.rs:+5:17: +5:19 + _6 = _4; // scope 3 at $DIR/reference_prop.rs:+5:17: +5:19 StorageLive(_7); // scope 4 at $DIR/reference_prop.rs:+6:9: +6:19 StorageLive(_8); // scope 4 at $DIR/reference_prop.rs:+6:16: +6:18 _8 = (); // scope 4 at $DIR/reference_prop.rs:+6:16: +6:18 _7 = opaque::<()>(move _8) -> bb1; // scope 4 at $DIR/reference_prop.rs:+6:9: +6:19 // mir::Constant // + span: $DIR/reference_prop.rs:202:9: 202:15 // + literal: Const { ty: fn(()) {opaque::<()>}, val: Value() } } bb1: { StorageDead(_8); // scope 4 at $DIR/reference_prop.rs:+6:18: +6:19 StorageDead(_7); // scope 4 at $DIR/reference_prop.rs:+6:19: +6:20 - _3 = const (); // scope 1 at $DIR/reference_prop.rs:+2:5: +7:6 StorageDead(_6); // scope 3 at $DIR/reference_prop.rs:+7:5: +7:6 - StorageDead(_5); // scope 2 at $DIR/reference_prop.rs:+7:5: +7:6 StorageDead(_4); // scope 1 at $DIR/reference_prop.rs:+7:5: +7:6 - StorageDead(_3); // scope 0 at $DIR/reference_prop.rs:+7:5: +7:6 - StorageLive(_9); // scope 0 at $DIR/reference_prop.rs:+10:5: +18:6 StorageLive(_10); // scope 5 at $DIR/reference_prop.rs:+11:13: +11:14 _10 = const 5_usize; // scope 5 at $DIR/reference_prop.rs:+11:17: +11:24 StorageLive(_11); // scope 6 at $DIR/reference_prop.rs:+12:13: +12:15 _11 = const 7_usize; // scope 6 at $DIR/reference_prop.rs:+12:18: +12:25 StorageLive(_12); // scope 7 at $DIR/reference_prop.rs:+13:13: +13:18 _12 = &raw const _10; // scope 7 at $DIR/reference_prop.rs:+13:21: +13:33 StorageLive(_13); // scope 8 at $DIR/reference_prop.rs:+14:13: +14:26 _13 = &raw const _11; // scope 8 at $DIR/reference_prop.rs:+14:13: +14:26 _12 = move _13; // scope 8 at $DIR/reference_prop.rs:+14:9: +14:26 StorageDead(_13); // scope 8 at $DIR/reference_prop.rs:+14:25: +14:26 StorageLive(_14); // scope 8 at $DIR/reference_prop.rs:+16:13: +16:14 _14 = (*_12); // scope 8 at $DIR/reference_prop.rs:+16:17: +16:19 StorageLive(_15); // scope 9 at $DIR/reference_prop.rs:+17:9: +17:19 StorageLive(_16); // scope 9 at $DIR/reference_prop.rs:+17:16: +17:18 _16 = (); // scope 9 at $DIR/reference_prop.rs:+17:16: +17:18 _15 = opaque::<()>(move _16) -> bb2; // scope 9 at $DIR/reference_prop.rs:+17:9: +17:19 // mir::Constant // + span: $DIR/reference_prop.rs:213:9: 213:15 // + literal: Const { ty: fn(()) {opaque::<()>}, val: Value() } } bb2: { StorageDead(_16); // scope 9 at $DIR/reference_prop.rs:+17:18: +17:19 StorageDead(_15); // scope 9 at $DIR/reference_prop.rs:+17:19: +17:20 - _9 = const (); // scope 5 at $DIR/reference_prop.rs:+10:5: +18:6 StorageDead(_14); // scope 8 at $DIR/reference_prop.rs:+18:5: +18:6 StorageDead(_12); // scope 7 at $DIR/reference_prop.rs:+18:5: +18:6 StorageDead(_11); // scope 6 at $DIR/reference_prop.rs:+18:5: +18:6 StorageDead(_10); // scope 5 at $DIR/reference_prop.rs:+18:5: +18:6 - StorageDead(_9); // scope 0 at $DIR/reference_prop.rs:+18:5: +18:6 - StorageLive(_17); // scope 0 at $DIR/reference_prop.rs:+21:5: +27:6 StorageLive(_18); // scope 10 at $DIR/reference_prop.rs:+22:13: +22:14 _18 = const 5_usize; // scope 10 at $DIR/reference_prop.rs:+22:17: +22:24 StorageLive(_19); // scope 11 at $DIR/reference_prop.rs:+23:13: +23:14 _19 = &raw const _18; // scope 11 at $DIR/reference_prop.rs:+23:17: +23:29 StorageLive(_20); // scope 12 at $DIR/reference_prop.rs:+24:13: +24:14 _20 = &_19; // scope 12 at $DIR/reference_prop.rs:+24:17: +24:19 StorageLive(_21); // scope 13 at $DIR/reference_prop.rs:+25:13: +25:14 _21 = (*_19); // scope 13 at $DIR/reference_prop.rs:+25:17: +25:19 StorageLive(_22); // scope 14 at $DIR/reference_prop.rs:+26:9: +26:18 StorageLive(_23); // scope 14 at $DIR/reference_prop.rs:+26:16: +26:17 _23 = _20; // scope 14 at $DIR/reference_prop.rs:+26:16: +26:17 _22 = opaque::<&*const usize>(move _23) -> bb3; // scope 14 at $DIR/reference_prop.rs:+26:9: +26:18 // mir::Constant // + span: $DIR/reference_prop.rs:222:9: 222:15 // + literal: Const { ty: fn(&*const usize) {opaque::<&*const usize>}, val: Value() } } bb3: { StorageDead(_23); // scope 14 at $DIR/reference_prop.rs:+26:17: +26:18 StorageDead(_22); // scope 14 at $DIR/reference_prop.rs:+26:18: +26:19 - _17 = const (); // scope 10 at $DIR/reference_prop.rs:+21:5: +27:6 StorageDead(_21); // scope 13 at $DIR/reference_prop.rs:+27:5: +27:6 StorageDead(_20); // scope 12 at $DIR/reference_prop.rs:+27:5: +27:6 StorageDead(_19); // scope 11 at $DIR/reference_prop.rs:+27:5: +27:6 StorageDead(_18); // scope 10 at $DIR/reference_prop.rs:+27:5: +27:6 - StorageDead(_17); // scope 0 at $DIR/reference_prop.rs:+27:5: +27:6 - StorageLive(_24); // scope 0 at $DIR/reference_prop.rs:+30:5: +36:6 StorageLive(_25); // scope 15 at $DIR/reference_prop.rs:+31:13: +31:14 _25 = const 5_usize; // scope 15 at $DIR/reference_prop.rs:+31:17: +31:24 StorageLive(_26); // scope 16 at $DIR/reference_prop.rs:+32:13: +32:18 _26 = &raw const _25; // scope 16 at $DIR/reference_prop.rs:+32:21: +32:33 StorageLive(_27); // scope 17 at $DIR/reference_prop.rs:+33:13: +33:14 _27 = &raw mut _26; // scope 17 at $DIR/reference_prop.rs:+33:17: +33:27 StorageLive(_28); // scope 18 at $DIR/reference_prop.rs:+34:13: +34:14 _28 = (*_26); // scope 18 at $DIR/reference_prop.rs:+34:17: +34:19 StorageLive(_29); // scope 19 at $DIR/reference_prop.rs:+35:9: +35:18 StorageLive(_30); // scope 19 at $DIR/reference_prop.rs:+35:16: +35:17 _30 = _27; // scope 19 at $DIR/reference_prop.rs:+35:16: +35:17 _29 = opaque::<*mut *const usize>(move _30) -> bb4; // scope 19 at $DIR/reference_prop.rs:+35:9: +35:18 // mir::Constant // + span: $DIR/reference_prop.rs:231:9: 231:15 // + literal: Const { ty: fn(*mut *const usize) {opaque::<*mut *const usize>}, val: Value() } } bb4: { StorageDead(_30); // scope 19 at $DIR/reference_prop.rs:+35:17: +35:18 StorageDead(_29); // scope 19 at $DIR/reference_prop.rs:+35:18: +35:19 - _24 = const (); // scope 15 at $DIR/reference_prop.rs:+30:5: +36:6 StorageDead(_28); // scope 18 at $DIR/reference_prop.rs:+36:5: +36:6 StorageDead(_27); // scope 17 at $DIR/reference_prop.rs:+36:5: +36:6 StorageDead(_26); // scope 16 at $DIR/reference_prop.rs:+36:5: +36:6 StorageDead(_25); // scope 15 at $DIR/reference_prop.rs:+36:5: +36:6 - StorageDead(_24); // scope 0 at $DIR/reference_prop.rs:+36:5: +36:6 - StorageLive(_31); // scope 0 at $DIR/reference_prop.rs:+39:5: +44:6 StorageLive(_32); // scope 20 at $DIR/reference_prop.rs:+40:13: +40:14 _32 = const 7_usize; // scope 20 at $DIR/reference_prop.rs:+40:17: +40:24 StorageLive(_33); // scope 21 at $DIR/reference_prop.rs:+41:13: +41:14 _33 = &raw const _32; // scope 21 at $DIR/reference_prop.rs:+41:17: +41:29 StorageLive(_34); // scope 22 at $DIR/reference_prop.rs:+42:13: +42:14 - _34 = (*_33); // scope 22 at $DIR/reference_prop.rs:+42:17: +42:19 + _34 = _32; // scope 22 at $DIR/reference_prop.rs:+42:17: +42:19 StorageLive(_35); // scope 23 at $DIR/reference_prop.rs:+43:9: +43:18 StorageLive(_36); // scope 23 at $DIR/reference_prop.rs:+43:16: +43:17 _36 = _33; // scope 23 at $DIR/reference_prop.rs:+43:16: +43:17 _35 = opaque::<*const usize>(move _36) -> bb5; // scope 23 at $DIR/reference_prop.rs:+43:9: +43:18 // mir::Constant // + span: $DIR/reference_prop.rs:239:9: 239:15 // + literal: Const { ty: fn(*const usize) {opaque::<*const usize>}, val: Value() } } bb5: { StorageDead(_36); // scope 23 at $DIR/reference_prop.rs:+43:17: +43:18 StorageDead(_35); // scope 23 at $DIR/reference_prop.rs:+43:18: +43:19 - _31 = const (); // scope 20 at $DIR/reference_prop.rs:+39:5: +44:6 StorageDead(_34); // scope 22 at $DIR/reference_prop.rs:+44:5: +44:6 StorageDead(_33); // scope 21 at $DIR/reference_prop.rs:+44:5: +44:6 StorageDead(_32); // scope 20 at $DIR/reference_prop.rs:+44:5: +44:6 - StorageDead(_31); // scope 0 at $DIR/reference_prop.rs:+44:5: +44:6 - StorageLive(_37); // scope 0 at $DIR/reference_prop.rs:+47:5: +57:6 StorageLive(_38); // scope 24 at $DIR/reference_prop.rs:+48:13: +48:14 _38 = const 7_usize; // scope 24 at $DIR/reference_prop.rs:+48:17: +48:24 StorageLive(_39); // scope 25 at $DIR/reference_prop.rs:+49:13: +49:15 _39 = &raw const _38; // scope 25 at $DIR/reference_prop.rs:+49:18: +49:30 StorageLive(_40); // scope 26 at $DIR/reference_prop.rs:+50:13: +50:14 - _40 = (*_39); // scope 26 at $DIR/reference_prop.rs:+50:17: +50:20 + _40 = _38; // scope 26 at $DIR/reference_prop.rs:+50:17: +50:20 StorageLive(_41); // scope 27 at $DIR/reference_prop.rs:+51:13: +51:15 _41 = _39; // scope 27 at $DIR/reference_prop.rs:+51:18: +51:20 StorageLive(_42); // scope 28 at $DIR/reference_prop.rs:+52:13: +52:15 - _42 = (*_41); // scope 28 at $DIR/reference_prop.rs:+52:18: +52:21 + _42 = _38; // scope 28 at $DIR/reference_prop.rs:+52:18: +52:21 StorageLive(_43); // scope 29 at $DIR/reference_prop.rs:+53:13: +53:15 _43 = _41; // scope 29 at $DIR/reference_prop.rs:+53:18: +53:20 StorageLive(_44); // scope 30 at $DIR/reference_prop.rs:+56:9: +56:19 StorageLive(_45); // scope 30 at $DIR/reference_prop.rs:+56:16: +56:18 _45 = _43; // scope 30 at $DIR/reference_prop.rs:+56:16: +56:18 _44 = opaque::<*const usize>(move _45) -> bb6; // scope 30 at $DIR/reference_prop.rs:+56:9: +56:19 // mir::Constant // + span: $DIR/reference_prop.rs:252:9: 252:15 // + literal: Const { ty: fn(*const usize) {opaque::<*const usize>}, val: Value() } } bb6: { StorageDead(_45); // scope 30 at $DIR/reference_prop.rs:+56:18: +56:19 StorageDead(_44); // scope 30 at $DIR/reference_prop.rs:+56:19: +56:20 - _37 = const (); // scope 24 at $DIR/reference_prop.rs:+47:5: +57:6 StorageDead(_43); // scope 29 at $DIR/reference_prop.rs:+57:5: +57:6 StorageDead(_42); // scope 28 at $DIR/reference_prop.rs:+57:5: +57:6 StorageDead(_41); // scope 27 at $DIR/reference_prop.rs:+57:5: +57:6 StorageDead(_40); // scope 26 at $DIR/reference_prop.rs:+57:5: +57:6 StorageDead(_39); // scope 25 at $DIR/reference_prop.rs:+57:5: +57:6 StorageDead(_38); // scope 24 at $DIR/reference_prop.rs:+57:5: +57:6 - StorageDead(_37); // scope 0 at $DIR/reference_prop.rs:+57:5: +57:6 - StorageLive(_46); // scope 0 at $DIR/reference_prop.rs:+60:5: +64:6 - StorageLive(_47); // scope 31 at $DIR/reference_prop.rs:+61:13: +61:14 - _47 = &raw const (*_1); // scope 31 at $DIR/reference_prop.rs:+61:17: +61:35 StorageLive(_48); // scope 32 at $DIR/reference_prop.rs:+62:13: +62:14 - _48 = (*_47); // scope 32 at $DIR/reference_prop.rs:+62:17: +62:19 + _48 = (*_1); // scope 32 at $DIR/reference_prop.rs:+62:17: +62:19 StorageLive(_49); // scope 33 at $DIR/reference_prop.rs:+63:9: +63:19 StorageLive(_50); // scope 33 at $DIR/reference_prop.rs:+63:16: +63:18 _50 = (); // scope 33 at $DIR/reference_prop.rs:+63:16: +63:18 _49 = opaque::<()>(move _50) -> bb7; // scope 33 at $DIR/reference_prop.rs:+63:9: +63:19 // mir::Constant // + span: $DIR/reference_prop.rs:259:9: 259:15 // + literal: Const { ty: fn(()) {opaque::<()>}, val: Value() } } bb7: { StorageDead(_50); // scope 33 at $DIR/reference_prop.rs:+63:18: +63:19 StorageDead(_49); // scope 33 at $DIR/reference_prop.rs:+63:19: +63:20 - _46 = const (); // scope 31 at $DIR/reference_prop.rs:+60:5: +64:6 StorageDead(_48); // scope 32 at $DIR/reference_prop.rs:+64:5: +64:6 - StorageDead(_47); // scope 31 at $DIR/reference_prop.rs:+64:5: +64:6 - StorageDead(_46); // scope 0 at $DIR/reference_prop.rs:+64:5: +64:6 - StorageLive(_51); // scope 0 at $DIR/reference_prop.rs:+67:5: +72:6 StorageLive(_52); // scope 34 at $DIR/reference_prop.rs:+68:13: +68:14 _52 = &raw const (*_2); // scope 34 at $DIR/reference_prop.rs:+68:17: +68:37 StorageLive(_53); // scope 35 at $DIR/reference_prop.rs:+69:20: +69:38 _53 = &raw const (*_1); // scope 35 at $DIR/reference_prop.rs:+69:20: +69:38 _2 = move _53; // scope 35 at $DIR/reference_prop.rs:+69:9: +69:38 StorageDead(_53); // scope 35 at $DIR/reference_prop.rs:+69:37: +69:38 StorageLive(_54); // scope 35 at $DIR/reference_prop.rs:+70:13: +70:14 _54 = (*_52); // scope 35 at $DIR/reference_prop.rs:+70:17: +70:19 StorageLive(_55); // scope 36 at $DIR/reference_prop.rs:+71:9: +71:19 StorageLive(_56); // scope 36 at $DIR/reference_prop.rs:+71:16: +71:18 _56 = (); // scope 36 at $DIR/reference_prop.rs:+71:16: +71:18 _55 = opaque::<()>(move _56) -> bb8; // scope 36 at $DIR/reference_prop.rs:+71:9: +71:19 // mir::Constant // + span: $DIR/reference_prop.rs:267:9: 267:15 // + literal: Const { ty: fn(()) {opaque::<()>}, val: Value() } } bb8: { StorageDead(_56); // scope 36 at $DIR/reference_prop.rs:+71:18: +71:19 StorageDead(_55); // scope 36 at $DIR/reference_prop.rs:+71:19: +71:20 - _51 = const (); // scope 34 at $DIR/reference_prop.rs:+67:5: +72:6 StorageDead(_54); // scope 35 at $DIR/reference_prop.rs:+72:5: +72:6 StorageDead(_52); // scope 34 at $DIR/reference_prop.rs:+72:5: +72:6 - StorageDead(_51); // scope 0 at $DIR/reference_prop.rs:+72:5: +72:6 - StorageLive(_57); // scope 0 at $DIR/reference_prop.rs:+75:5: +81:6 StorageLive(_58); // scope 37 at $DIR/reference_prop.rs:+76:13: +76:14 _58 = const 13_usize; // scope 37 at $DIR/reference_prop.rs:+76:17: +76:25 - StorageLive(_59); // scope 38 at $DIR/reference_prop.rs:+77:13: +77:14 - _59 = &raw const _58; // scope 38 at $DIR/reference_prop.rs:+77:17: +77:29 - StorageLive(_60); // scope 39 at $DIR/reference_prop.rs:+78:13: +78:14 - _60 = &raw const (*_59); // scope 39 at $DIR/reference_prop.rs:+78:17: +78:30 StorageLive(_61); // scope 40 at $DIR/reference_prop.rs:+79:13: +79:14 - _61 = (*_60); // scope 40 at $DIR/reference_prop.rs:+79:17: +79:19 + _61 = _58; // scope 40 at $DIR/reference_prop.rs:+79:17: +79:19 StorageLive(_62); // scope 41 at $DIR/reference_prop.rs:+80:9: +80:19 StorageLive(_63); // scope 41 at $DIR/reference_prop.rs:+80:16: +80:18 _63 = (); // scope 41 at $DIR/reference_prop.rs:+80:16: +80:18 _62 = opaque::<()>(move _63) -> bb9; // scope 41 at $DIR/reference_prop.rs:+80:9: +80:19 // mir::Constant // + span: $DIR/reference_prop.rs:276:9: 276:15 // + literal: Const { ty: fn(()) {opaque::<()>}, val: Value() } } bb9: { StorageDead(_63); // scope 41 at $DIR/reference_prop.rs:+80:18: +80:19 StorageDead(_62); // scope 41 at $DIR/reference_prop.rs:+80:19: +80:20 - _57 = const (); // scope 37 at $DIR/reference_prop.rs:+75:5: +81:6 StorageDead(_61); // scope 40 at $DIR/reference_prop.rs:+81:5: +81:6 - StorageDead(_60); // scope 39 at $DIR/reference_prop.rs:+81:5: +81:6 - StorageDead(_59); // scope 38 at $DIR/reference_prop.rs:+81:5: +81:6 StorageDead(_58); // scope 37 at $DIR/reference_prop.rs:+81:5: +81:6 - StorageDead(_57); // scope 0 at $DIR/reference_prop.rs:+81:5: +81:6 - StorageLive(_64); // scope 0 at $DIR/reference_prop.rs:+84:5: +90:6 StorageLive(_65); // scope 42 at $DIR/reference_prop.rs:+85:13: +85:14 _65 = const 5_usize; // scope 42 at $DIR/reference_prop.rs:+85:17: +85:24 - StorageLive(_66); // scope 43 at $DIR/reference_prop.rs:+86:13: +86:14 - _66 = &raw const _65; // scope 43 at $DIR/reference_prop.rs:+86:17: +86:29 - StorageLive(_67); // scope 44 at $DIR/reference_prop.rs:+87:13: +87:14 - _67 = &_66; // scope 44 at $DIR/reference_prop.rs:+87:17: +87:19 StorageLive(_68); // scope 45 at $DIR/reference_prop.rs:+88:13: +88:14 - _68 = (*_66); // scope 45 at $DIR/reference_prop.rs:+88:17: +88:19 + _68 = _65; // scope 45 at $DIR/reference_prop.rs:+88:17: +88:19 StorageLive(_69); // scope 46 at $DIR/reference_prop.rs:+89:9: +89:19 StorageLive(_70); // scope 46 at $DIR/reference_prop.rs:+89:16: +89:18 _70 = (); // scope 46 at $DIR/reference_prop.rs:+89:16: +89:18 _69 = opaque::<()>(move _70) -> bb10; // scope 46 at $DIR/reference_prop.rs:+89:9: +89:19 // mir::Constant // + span: $DIR/reference_prop.rs:285:9: 285:15 // + literal: Const { ty: fn(()) {opaque::<()>}, val: Value() } } bb10: { StorageDead(_70); // scope 46 at $DIR/reference_prop.rs:+89:18: +89:19 StorageDead(_69); // scope 46 at $DIR/reference_prop.rs:+89:19: +89:20 - _64 = const (); // scope 42 at $DIR/reference_prop.rs:+84:5: +90:6 StorageDead(_68); // scope 45 at $DIR/reference_prop.rs:+90:5: +90:6 - StorageDead(_67); // scope 44 at $DIR/reference_prop.rs:+90:5: +90:6 - StorageDead(_66); // scope 43 at $DIR/reference_prop.rs:+90:5: +90:6 StorageDead(_65); // scope 42 at $DIR/reference_prop.rs:+90:5: +90:6 - StorageDead(_64); // scope 0 at $DIR/reference_prop.rs:+90:5: +90:6 StorageLive(_71); // scope 47 at $DIR/reference_prop.rs:+94:13: +94:14 _71 = const 5_usize; // scope 47 at $DIR/reference_prop.rs:+94:17: +94:24 - StorageLive(_72); // scope 48 at $DIR/reference_prop.rs:+95:13: +95:18 - _72 = &raw const _71; // scope 48 at $DIR/reference_prop.rs:+95:21: +95:33 - StorageLive(_73); // scope 49 at $DIR/reference_prop.rs:+96:13: +96:14 - _73 = &mut _72; // scope 49 at $DIR/reference_prop.rs:+96:17: +96:23 StorageLive(_74); // scope 50 at $DIR/reference_prop.rs:+97:13: +97:14 - _74 = (*_72); // scope 50 at $DIR/reference_prop.rs:+97:17: +97:19 + _74 = _71; // scope 50 at $DIR/reference_prop.rs:+97:17: +97:19 StorageLive(_75); // scope 51 at $DIR/reference_prop.rs:+98:9: +98:19 StorageLive(_76); // scope 51 at $DIR/reference_prop.rs:+98:16: +98:18 _76 = (); // scope 51 at $DIR/reference_prop.rs:+98:16: +98:18 _75 = opaque::<()>(move _76) -> bb11; // scope 51 at $DIR/reference_prop.rs:+98:9: +98:19 // mir::Constant // + span: $DIR/reference_prop.rs:294:9: 294:15 // + literal: Const { ty: fn(()) {opaque::<()>}, val: Value() } } bb11: { StorageDead(_76); // scope 51 at $DIR/reference_prop.rs:+98:18: +98:19 StorageDead(_75); // scope 51 at $DIR/reference_prop.rs:+98:19: +98:20 _0 = const (); // scope 47 at $DIR/reference_prop.rs:+93:5: +99:6 StorageDead(_74); // scope 50 at $DIR/reference_prop.rs:+99:5: +99:6 - StorageDead(_73); // scope 49 at $DIR/reference_prop.rs:+99:5: +99:6 - StorageDead(_72); // scope 48 at $DIR/reference_prop.rs:+99:5: +99:6 StorageDead(_71); // scope 47 at $DIR/reference_prop.rs:+99:5: +99:6 return; // scope 0 at $DIR/reference_prop.rs:+100:2: +100:2 } }