- // MIR for `duplicate_slice` before GVN + // MIR for `duplicate_slice` after GVN fn duplicate_slice() -> (bool, bool) { let mut _0: (bool, bool); let mut _1: u128; let mut _2: u128; let mut _3: u128; let mut _4: u128; let mut _5: &str; let mut _6: &str; let mut _7: (&str,); let mut _8: &str; let mut _9: bool; let mut _10: bool; bb0: { _7 = (const "a",); _1 = copy (_7.0: &str) as u128 (Transmute); _5 = identity::<&str>(copy (_7.0: &str)) -> [return: bb1, unwind unreachable]; } bb1: { _3 = copy _5 as u128 (Transmute); _8 = const "a"; _2 = copy _8 as u128 (Transmute); _6 = identity::<&str>(copy _8) -> [return: bb2, unwind unreachable]; } bb2: { _4 = copy _6 as u128 (Transmute); _9 = Eq(copy _1, copy _2); _10 = Eq(copy _3, copy _4); _0 = (copy _9, copy _10); return; } }