diff options
Diffstat (limited to 'tests/mir-opt/const_prop/bad_op_unsafe_oob_for_slices.main.ConstProp.32bit.panic-abort.diff')
-rw-r--r-- | tests/mir-opt/const_prop/bad_op_unsafe_oob_for_slices.main.ConstProp.32bit.panic-abort.diff | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/tests/mir-opt/const_prop/bad_op_unsafe_oob_for_slices.main.ConstProp.32bit.panic-abort.diff b/tests/mir-opt/const_prop/bad_op_unsafe_oob_for_slices.main.ConstProp.32bit.panic-abort.diff new file mode 100644 index 000000000..30402df47 --- /dev/null +++ b/tests/mir-opt/const_prop/bad_op_unsafe_oob_for_slices.main.ConstProp.32bit.panic-abort.diff @@ -0,0 +1,54 @@ +- // MIR for `main` before ConstProp ++ // MIR for `main` after ConstProp + + fn main() -> () { + let mut _0: (); + let _1: *const [i32]; + let mut _2: *const [i32; 3]; + let _3: &[i32; 3]; + let _4: [i32; 3]; + let _6: usize; + let mut _7: usize; + let mut _8: bool; + let mut _9: &[i32; 3]; + scope 1 { + debug a => _1; + scope 2 { + let _5: i32; + scope 3 { + debug _b => _5; + } + } + } + + bb0: { + StorageLive(_1); + StorageLive(_2); + StorageLive(_3); + _9 = const _; + _3 = &(*_9); + _2 = &raw const (*_3); + _1 = move _2 as *const [i32] (PointerCoercion(Unsize)); + StorageDead(_2); + StorageDead(_3); + StorageLive(_5); + StorageLive(_6); + _6 = const 3_usize; + _7 = const 3_usize; +- _8 = Lt(_6, _7); +- assert(move _8, "index out of bounds: the length is {} but the index is {}", move _7, _6) -> [success: bb1, unwind unreachable]; ++ _8 = const false; ++ assert(const false, "index out of bounds: the length is {} but the index is {}", move _7, _6) -> [success: bb1, unwind unreachable]; + } + + bb1: { +- _5 = (*_1)[_6]; ++ _5 = (*_1)[3 of 4]; + StorageDead(_6); + _0 = const (); + StorageDead(_5); + StorageDead(_1); + return; + } + } + |