zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

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:
Msrc/Sema.zig | 1+
Mtest/cases/inherit_want_safety.zig | 7+++++++
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; }