- // MIR for `main` before GVN + // MIR for `main` after GVN fn main() -> () { let mut _0: (); let _1: u8; let mut _2: [u8; 5000]; let _3: usize; let mut _4: usize; let mut _5: bool; scope 1 { debug x => _1; } bb0: { StorageLive(_1); StorageLive(_2); _2 = [const 0_u8; 5000]; StorageLive(_3); _3 = const 2_usize; _4 = Len(_2); - _5 = Lt(_3, _4); - assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, _3) -> [success: bb1, unwind continue]; + _5 = Lt(const 2_usize, _4); + assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, const 2_usize) -> [success: bb1, unwind continue]; } bb1: { - _1 = _2[_3]; + _1 = const 0_u8; StorageDead(_3); StorageDead(_2); _0 = const (); StorageDead(_1); return; } }