Commit cd992b89d2
Changed files (2)
src
test
src/ir.cpp
@@ -12423,6 +12423,7 @@ bool ir_has_side_effects(IrInstruction *instruction) {
case IrInstructionIdCheckSwitchProngs:
case IrInstructionIdSetGlobalAlign:
case IrInstructionIdSetGlobalSection:
+ case IrInstructionIdUnwrapErrPayload:
return true;
case IrInstructionIdPhi:
case IrInstructionIdUnOp:
@@ -12471,7 +12472,6 @@ bool ir_has_side_effects(IrInstruction *instruction) {
case IrInstructionIdFrameAddress:
case IrInstructionIdTestErr:
case IrInstructionIdUnwrapErrCode:
- case IrInstructionIdUnwrapErrPayload:
case IrInstructionIdMaybeWrap:
case IrInstructionIdErrWrapCode:
case IrInstructionIdErrWrapPayload:
test/run_tests.cpp
@@ -1896,6 +1896,20 @@ fn unsigned_cast(x: i32) -> u32 {
}
)SOURCE");
+ add_debug_safety_case("unwrap error", R"SOURCE(
+pub fn panic(message: []const u8) -> unreachable {
+ @breakpoint();
+ while (true) {}
+}
+error Whatever;
+pub fn main(args: [][]u8) -> %void {
+ %%bar();
+}
+fn bar() -> %void {
+ return error.Whatever;
+}
+ )SOURCE");
+
}
//////////////////////////////////////////////////////////////////////////////