✓
Passing This code compiles and runs correctly.
Code
// ============================================================================
// Test 210_019: COMPILE_ONLY — multi-line call args fold correctly inside a
// subflow continuation chain.
//
// Parens hug their arguments (f2f67db50): `f(` hugs the first arg, `)` hugs
// the last. Within that style a call may span lines, and the continuation
// `|>` after the closing paren must keep parsing as part of the subflow —
// this pins that shape. (Historical: this test once pinned a bug where the
// fold lost subflow context after a multi-line call.)
//
// The subflow form is the intended authoring model — no proc workaround.
// ============================================================================
const std = @import("std");
~tor step-a { x: i32 } -> i32
~proc step-a|zig {
return x + 1;
}
~tor step-b { a: i32, b: i32, c: i32 } -> i32
~proc step-b|zig {
return a + b + c;
}
~tor step-c { x: i32 } -> i32
~proc step-c|zig {
return x * 2;
}
~tor test-multiline-call {} -> i32
~test-multiline-call = step-a(x: 10): a |> step-b(a,
b: 20,
c: 30): b |> step-c(x: b): c -> c
// Main flow
~test-multiline-call()
Flows
subflow ~test-multiline-call click a branch to expand · @labels scroll to their anchor
step-a (x: 10)
flow ~test-multiline-call click a branch to expand · @labels scroll to their anchor
test-multiline-call
Test Configuration
COMPILE_ONLY