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