❯ ./zig-cache/bin/zig astgen test.zig %25 = struct_decl({}, {}, { pub main: %2 = block_inline({ %1 = func([], @Ref.void_type, { %0 = ret_coerce(@Ref.void_value) token_offset:1:21 }) node_offset:1:5 %3 = break_inline(%2, %1) }) node_offset:1:5 pub f: %23 = block_inline({ %4 = error_union_type(@Ref.anyerror_type, @Ref.void_type) node_offset:3:20 %5 = as_node(@Ref.type_type, %4) node_offset:3:20 %22 = func([], %5, { %6 = dbg_stmt_node() node_offset:4:5 %7 = error_union_type(@Ref.anyerror_type, @Ref.u32_type) node_offset:4:22 %8 = as_node(@Ref.type_type, %7) node_offset:4:22 %9 = error_value("V") token_offset:4:35 %10 = as_node(%8, %9) node_offset:4:29 %11 = dbg_stmt_node() node_offset:5:7 %14 = block({ %12 = is_err(%10) node_offset:5:13 %13 = condbr(%12, { %15 = err_union_payload_unsafe(%10) node_offset:5:13 %16 = ret_node(%15) node_offset:5:13 }, { %17 = err_union_code(%10) node_offset:5:13 %18 = ensure_result_non_error(%17) node_offset:5:13 %19 = break(%14, %17) }) node_offset:5:13 }) node_offset:5:13 %20 = ensure_result_non_error(%14) node_offset:5:13 %21 = ret_coerce(@Ref.void_value) token_offset:6:1 }) node_offset:3:5 %24 = break_inline(%23, %22) }) node_offset:3:5 }) node_offset:1:1 zig/build on  stage2-whole-file-astgen [$!] via ↯ v0.8.0-dev.1982+d605f0275 via ❄️ impure ❯ cat test.zig pub fn main() void {} pub fn f() anyerror!void { const e: anyerror!u32 = error.V; _ = try e; }