✗
Failing This test is currently failing.
Failed: wrong-error
Failure Output
error[KORU030]: Resource 'content' carries obligation <allocated!> was not discharged. Call: std.io:free
--> tests/regression/300_ADVANCED_FEATURES/335_OBLIGATION_STRESS/335_056_disposal_diagnostic_names_surface_spelling/input.k:16:0
❌ Compiler coordination error: Phantom semantic validation failed
(set KORU_BACKEND_TRACE=1 for the backend return trace) Code
// RED PIN — canonical names should be surface spellings.
//
// `std/io:read-file`'s buffer carries `allocated!`; under
// --auto-discharge=disable the leak is a loud KORU030 that names the
// disposer. What this test pins is the NAME: the suggestion must read
// `std/io:free` — a spelling the parser accepts — not the internal
// dot-joined canonical form `std.io:free` (a shape KORU035 refuses in
// source).
//
// Stays red until canonical names stop normalizing `/`→`.` at the parse
// boundary — concepts/frag-a-canonical-name-should-be-its-surface-spelling.
import std/io
std/io:read-file(path: "data.txt")
| ok content |> std/io:print.ln("{{ content:s }}")
| not-found |> _
| failed _ |> _
Actual compiler output
error[KORU030]: Resource 'content' carries obligation <allocated!> was not discharged. Call: std.io:free
--> tests/regression/300_ADVANCED_FEATURES/335_OBLIGATION_STRESS/335_056_disposal_diagnostic_names_surface_spelling/input.k:16:0
❌ Compiler coordination error: Phantom semantic validation failed
(set KORU_BACKEND_TRACE=1 for the backend return trace)Must contain:
KORU030Flows
flow ~read-file click a branch to expand · @labels scroll to their anchor
read-file (path: "data.txt")
Test Configuration
MUST_ERROR
Compiler Flags:
--auto-discharge=disable