compiler features / flow checker

✓ 22 passing ○ 3 planned

Lessons

1 ○ Planned
009 unused binding error — OWED: unused branch binding `f` is KORU100; discard is `| opened _ |>`.
2 ✓ Passing
011 discard binding ok
3 ○ Planned
012 interpolation use in for loop — KORU100 false positive: string interpolation reference not counted as binding use inside for loop body (post-transform AST loses interpolation→binding association)
4 ✓ Passing
015 reject branch payload unbound
5 ○ Planned
016 reject continuation without branch handler — OWED: a bare `|>` with no named branch handler is refused.
6 ✓ Passing
017 effect branch multiline chain
7 ✓ Passing
018 optional effect noop discard banned
8 ✓ Passing
019 optional effect multi guard no else
9 ✓ Passing
020 flowhead multiline chain
10 ✓ Passing
024 obligation branch multiline chain
11 ✓ Passing
025 err hoist wrong type
12 ✓ Passing
028 reject underscore outside branch handler
13 ✓ Passing
029 nested chain base handler is not a claim
14 ✓ Passing
032 reject borrow return of param
15 ✓ Passing
033 void rereturn inline transform
16 ✓ Passing
039 effect discard sibling illegal
17 ✓ Passing
040 effect discard carveouts legal
18 ✓ Passing
043 transform optional noop arm banned
19 ✓ Passing
044 transform arm real body legal
20 ✓ Passing
045 transform optional terminal noop banned
21 ✓ Passing
051 never bound name reaches host
22 ✓ Passing
052 unspaced minus joins bound names
23 ✓ Passing
053 unspaced minus in invocation arg
24 ✓ Passing
054 unspaced minus in branch body
25 ✓ Passing
055 transform condition kebab gap