== foo == fun foo() { "before" while (true) { val a: Int } "after" } --------------------- L0: 1 INIT: in: {} out: {} 2 mark({ "before" while (true) { val a: Int } "after" }) mark("before") r("before") -> L2 [loop entry point]: L5 [condition entry point]: r(true) -> mark(while (true) { val a: Int }) magic[VALUE_CONSUMER](true|) -> L4 [body entry point]: 3 mark({ val a: Int }) v(val a: Int) INIT: in: {} out: {a=D} 2 jmp(L2 [loop entry point]) INIT: in: {} out: {} USE: in: {} out: {} L3 [loop exit point]: - read (Unit) - mark("after") - r("after") -> L1: 1 INIT: in: {} out: {} error: sink: USE: in: {} out: {} =====================