zig/test/behavior/ir_block_deps.zig
2022-02-28 23:20:05 +01:00

27 lines
647 B
Zig

const builtin = @import("builtin");
const expect = @import("std").testing.expect;
fn foo(id: u64) !i32 {
return switch (id) {
1 => getErrInt(),
2 => {
const size = try getErrInt();
_ = size;
return try getErrInt();
},
else => error.ItBroke,
};
}
fn getErrInt() anyerror!i32 {
return 0;
}
test "ir block deps" {
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
try expect((foo(1) catch unreachable) == 0);
try expect((foo(2) catch unreachable) == 0);
}