034 capture nested

✓ Passing This code compiles and runs correctly.

Code

// Test: Nested ~capture - outer capture's `captured` inside inner capture's continuation

~import "$std/io"
~import "$std/control"

const std = @import("std");

~event print_int { value: i32 }

~proc print_int {
    std.debug.print("{d}\n", .{value});
}

// Outer capture wraps inner capture
// The outer's `captured { outer: ... }` is inside the inner's `| captured |>` continuation
// Note: nested captures require explicit unique bindings (outer/inner)
// The bindings must actually be used in captured { } blocks
~capture(expr: { outer: @as(i32, 0) })
| as outer |> capture(expr: { inner: @as(i32, 0) })
    | as inner |> captured { inner: inner.inner + 42 }
    | captured result |> captured { outer: outer.outer + result.inner }
| captured final |> print_int(value: final.outer)
input.kz

Expected Output

42

Test Configuration

MUST_RUN