✓
Passing Passing: the compiler rejects this program as expected.
Code
// PIN (enforcement): freeing a String twice is use-after-discharge.
~import std/string
~std/string:from-page(text: "hello")
| ok s |> std/string:free(s) |> std/string:free(s)
| err _ |> _
Actual compiler output
error[KORU030]: Use-after-discharge: binding 's' was already discharged and cannot be used
--> tests/regression/600_STDLIB/610_STRING/610_006_reject_double_free/input.kz:5:0
❌ Compiler coordination error: Phantom semantic validation failed
(set KORU_BACKEND_TRACE=1 for the backend return trace)Must contain:
Use-after-dischargeFlows
flow ~from-page click a branch to expand · @labels scroll to their anchor
from-page (text: "hello")
Test Configuration
MUST_ERROR