- // MIR for `miraw` before CopyProp + // MIR for `miraw` after CopyProp fn miraw(_1: u8) -> () { debug x => _1; let mut _0: (); let _2: *mut u8; let _5: (); let mut _6: *mut u8; scope 1 { debug a => _2; let _3: *mut u8; scope 2 { debug b => _3; let _4: *mut u8; scope 3 { - debug c => _4; + debug c => _2; } } } bb0: { - StorageLive(_2); _2 = &raw mut _1; StorageLive(_3); _3 = &raw mut (*_2); - StorageLive(_4); - _4 = copy _2; StorageLive(_5); - StorageLive(_6); - _6 = copy _4; - _5 = opaque::<*mut u8>(move _6) -> [return: bb1, unwind continue]; + _5 = opaque::<*mut u8>(copy _2) -> [return: bb1, unwind continue]; } bb1: { - StorageDead(_6); StorageDead(_5); _0 = const (); - StorageDead(_4); StorageDead(_3); - StorageDead(_2); return; } }