== foo == fun foo(c: Collection) { for (e in c) { { break } } } --------------------- L0: 1 v(c: Collection) magic[FAKE_INITIALIZER](c: Collection) -> w(c|) 2 mark({ for (e in c) { { break } } }) 3 r(c) -> mark(c) call(c, iterator|) -> v(e) L2 [loop entry point]: L6 [condition entry point]: mark(c) PREV:[v(e), jmp(L2)] call(c, hasNext) -> jmp?(L3) NEXT:[read (Unit), mark(c)] mark(c) call(c, next) -> magic[LOOP_RANGE_ITERATION](c|) -> w(e|) mark(for (e in c) { { break } }) L4 [body entry point]: 4 mark({ { break } }) mark({ break }) jmp?(L7) NEXT:[r({ break }) -> , d({ break })] d({ break }) NEXT:[] L7 [after local declaration]: r({ break }) -> PREV:[jmp?(L7)] 3 jmp(L2) NEXT:[mark(c)] L3 [loop exit point]: L5 [body exit point]: read (Unit) PREV:[jmp?(L3)] L1: 1 NEXT:[] error: PREV:[] sink: PREV:[, , d({ break })] ===================== == anonymous_0 == { break } --------------------- L8: 5 6 mark(break) 5 ret(*|!) L9 L9: NEXT:[] error: PREV:[] sink: PREV:[, ] =====================