rust/tests/mir-opt/reference_prop.reference_propagation_mut.ReferencePropagation.diff
2023-05-13 10:17:28 +00:00

473 lines
36 KiB
Diff

- // 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(<ZST>) }
}
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(<ZST>) }
}
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(<ZST>) }
}
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(<ZST>) }
}
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(<ZST>) }
}
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(<ZST>) }
}
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(<ZST>) }
}
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(<ZST>) }
}
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(<ZST>) }
}
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(<ZST>) }
}
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
}
}