- // MIR for `meta_of_ref_to_slice` before GVN + // MIR for `meta_of_ref_to_slice` after GVN fn meta_of_ref_to_slice(_1: *const i32) -> usize { debug x => _1; let mut _0: usize; let _2: *const [i32]; let mut _3: *const i32; let mut _4: *const [i32]; scope 1 { debug ptr => _2; } bb0: { - StorageLive(_2); + nop; StorageLive(_3); _3 = copy _1; - _2 = *const [i32] from (move _3, const 1_usize); + _2 = *const [i32] from (copy _1, const 1_usize); StorageDead(_3); StorageLive(_4); _4 = copy _2; - _0 = PtrMetadata(move _4); + _0 = const 1_usize; StorageDead(_4); - StorageDead(_2); + nop; return; } }