- // MIR for `f` before CopyProp + // MIR for `f` after CopyProp fn f(_1: T) -> () { debug a => _1; let mut _0: (); let _2: T; let _3: (); let mut _4: T; let mut _5: T; scope 1 { - debug b => _2; + debug b => _1; } bb0: { - StorageLive(_2); - _2 = copy _1; StorageLive(_3); - StorageLive(_4); - _4 = copy _1; - StorageLive(_5); - _5 = copy _2; - _3 = g::(move _4, move _5) -> [return: bb1, unwind continue]; + _3 = g::(copy _1, copy _1) -> [return: bb1, unwind continue]; } bb1: { - StorageDead(_5); - StorageDead(_4); StorageDead(_3); _0 = const (); - StorageDead(_2); return; } }