- // MIR for `foo` before DestinationPropagation + // MIR for `foo` after DestinationPropagation fn foo(_1: u8) -> () { debug x => _1; let mut _0: (); let mut _2: u8; let mut _3: u8; bb0: { StorageLive(_2); - StorageLive(_3); - _3 = copy _1; - _2 = dummy(move _3) -> [return: bb1, unwind continue]; + nop; + nop; + _2 = dummy(move _1) -> [return: bb1, unwind continue]; } bb1: { - StorageDead(_3); + nop; _1 = move _2; StorageDead(_2); _0 = const (); return; } }