- // MIR for `src` before GVN + // MIR for `src` after GVN fn src(_1: &&u8) -> bool { debug x => _1; let mut _0: bool; let _2: u8; let _3: (); let mut _4: u8; let mut _5: u8; let mut _6: &u8; let mut _7: &u8; scope 1 { debug y => _2; } bb0: { - StorageLive(_2); - _6 = deref_copy (*_1); + nop; + _6 = copy (*_1); _2 = copy (*_6); _3 = unknown() -> [return: bb1, unwind continue]; } bb1: { StorageLive(_4); - _7 = deref_copy (*_1); + _7 = copy (*_1); _4 = copy (*_7); StorageLive(_5); _5 = copy _2; - _0 = Eq(move _4, move _5); + _0 = Eq(move _4, copy _2); StorageDead(_5); StorageDead(_4); - StorageDead(_2); + nop; return; } }