✓
Passing Passing: the compiler rejects this program as expected.
Code
// PIN — unbound fmt.ln refuses at the transform with KORU180.
//
// Twin of 620_020 (fmt.blk). `std/fmt:ln("...")` with no `: name` bind used
// to emit the `__LnResult` tagged union (the unbound arm in
// koru_std/fmt.lnzig.kz) — dead surface since the `| line l` branch
// spelling was removed, reaching Zig codegen as a raw type leak. The
// unbound arm now refuses upstream, naming the `: name` bind.
import std/fmt
import std/io
std/fmt:ln("the answer is 42") |> std/io:print.ln("done")
Actual compiler output
error[KORU180]: std/fmt:ln: unbound result — bind the line with `: name` (`std/fmt:ln("...") : name`); the `| line` branch spelling was removed, so an unbound result has no consumer
--> tests/regression/600_STDLIB/620_FMT/620_021_fmt_ln_unbound_result_refuses/input.k:11:1Must fail at runtime with:
CONTAINS KORU180
CONTAINS unboundFlows
flow ~ln click a branch to expand · @labels scroll to their anchor
ln ("the answer is 42")
Test Configuration
MUST_ERROR