commit ec5b7513734fc7a6f7767dd721de8f6fa088b06d (tree)
parent 69ab687156f1099570ec2208efae8be6883073c0
Author: dweiller <4678790+dweiller@users.noreply.github.com>
Date: Sat, 30 Dec 2023 12:58:35 +1100
sema: inherit block want_safety for err switch union
Diffstat:
2 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/src/Sema.zig b/src/Sema.zig
@@ -11292,6 +11292,7 @@ fn zirSwitchBlockErrUnion(sema: *Sema, block: *Block, inst: Zir.Inst.Index) Comp
.runtime_loop = block.runtime_loop,
.runtime_index = block.runtime_index,
.error_return_trace_index = block.error_return_trace_index,
+ .want_safety = block.want_safety,
};
const merges = &child_block.label.?.merges;
defer child_block.instructions.deinit(gpa);
diff --git a/test/cases/inherit_want_safety.zig b/test/cases/inherit_want_safety.zig
@@ -23,6 +23,13 @@ pub export fn entry() usize {
u += 1;
},
}
+ if (@as(error{}!usize, u)) |_| {
+ u += 1;
+ } else |e| switch (e) {
+ else => {
+ u += 1;
+ }
+ }
return u;
}