runtime features
✓ 98 passing ✗ 7 failing ○ 1 planned
Lessons
1 ✓
Passing
060 fmt blk autodispose
2 ✓
Passing 061 phantom autodispose
3 ✓
Passing 070 effect branch minimal
4 ✓
Passing 071 effect branch multifire void
5 ✓
Passing 072 effect branch multifire with terminal
6 ✓
Passing 073 effect branch multiple kinds
7 ✓
Passing 074 effect branch single fire with terminal
8 ✓
Passing 075 effect branch inside terminal body
9 ✓
Passing 076 effect branch nested in void chain
10 ✓
Passing 077 effect branch optional unhandled
11 ✓
Passing 078 effect branch catchall runtime
12 ✓
Passing 079 effect branch struct payload
13 ✓
Passing 080 effect branch phantom payload
14 ✓
Passing 081 effect branch labeled loop
15 ✓
Passing 082 effect branch resume value
16 ✓
Passing 083 effect branch resume binding
17 ✓
Passing 084 effect branch resume numeric
18 ✓
Passing 085 effect branch resume arithmetic
19 ✓
Passing 086 effect branch iter slice
20 ✓
Passing 087 effect branch when guard
21 ✓
Passing 088 effect branch when guard struct field
22 ✓
Passing 089 effect when with unguarded fallback
23 ✓
Passing 090 template variant passthrough
24 ✓
Passing 091 template variant interpolation
25 ✓
Passing 092 template variant conditional
26 ✓
Passing 093 template per call basic
27 ✓
Passing 094 template per call arg substitution
28 ✓
Passing 095 template per call range expr
29 ✓
Passing 096 effect branch void payload
30 ✓
Passing 097 required terminal must be handled
31 ○
Planned 098 capture with effect branch event — ~capture composing with effect-branch events — parked pending captured-shape redesign
32 ✓
Passing 100 effect obligation discharged in firing
33 ✓
Passing 101 wip for as template effect
34 ✓
Passing 102 effect wildcard payload
35 ✓
Passing 103 effect obligation cannot escape
36 ✓
Passing 104 effect branch cannot discharge outer
37 ✓
Passing 105 effect payload in obligation transfer
38 ✓
Passing 106 effect resume out emits correct zig
39 ✓
Passing 107 effect resume cannot issue obligation
40 ✓
Passing 108 effect handler autodischarge emits member
41 ✓
Passing 109 plain event from handler flow
42 ✓
Passing 110 effect branch single void cross target
43 ✓
Passing 111 effect branch multikind cross target
44 ✓
Passing 112 effect branch arg name mismatch cross target
45 ✓
Passing 113 effect handler cannot recurse producer
46 ✓
Passing 114 effect multi arm output
47 ✓
Passing 115 effect event via subflow
48 ✓
Passing 116 effect resume arrow producer
49 ✓
Passing 117 effect resume produce is call
50 ✓
Passing 118 bench sum range xor
51 ✓
Passing 119 bench multi kind dispatch
52 ✓
Passing 120 bench sum range foldable
53 ✓
Passing 121 bench filter map reduce
54 ✓
Passing 122 reject construct glyph on resume effect
55 ✓
Passing 123 reject chain glyph introduces value
56 ✓
Passing 124 effect arm cannot issue obligation
57 ✓
Passing 125 reject produce glyph on multi arm effect
58 ✓
Passing 126 reject unknown resume arm
59 ✓
Passing 127 effect arm discharge emits correct zig
60 ✓
Passing 128 effect payloadless multi arm
61 ✓
Passing 129 effect record payload arm
62 ✓
Passing 130 effect subflow fires void arm
63 ✓
Passing 131 effect subflow generator for each
64 ✓
Passing 132 effect subflow plain resume bind
65 ✓
Passing 133 effect subflow multi arm resume
66 ✓
Passing 134 effect subflow payloadless multi arm
67 ✓
Passing 135 effect subflow record payload arm
68 ✓
Passing 136 effect subflow obligation in firing
69 ✓
Passing 137 effect subflow obligation cannot escape
70 ✓
Passing 138 effect arm call outside impl rejected
71 ✓
Passing 139 effect subflow record payload fire
72 ✓
Passing 140 effect record fire requires named fields
73 ✗
Failing 141 child run nonzero exit stderr term — output
74 ✗
Failing 142 effect inliner singleline body discard — backend-exec
75 ✗
Failing 143 effect branch borrow escapes firing — expected-error-missing
76 ✓
Passing 144 effect subflow optional arm handled
77 ✓
Passing 145 effect subflow optional arm omitted noop
78 ✓
Passing 146 effect subflow optional resume if presence
79 ✓
Passing 147 effect subflow optional when presence
80 ✓
Passing 148 effect proc optional resume nullable alias
81 ✓
Passing 149 effect optional resume unguarded fire
82 ✓
Passing 150 effect required arm presence test rejected
83 ✗
Failing 151 effect inliner param name no hygiene — backend-exec
84 ✓
Passing 152 effect void beat heartbeat
85 ✓
Passing 153 effect lone optional
86 ✓
Passing 154 effect void arm presence omitted
87 ✓
Passing 155 effect inliner self module scope
88 ✓
Passing 156 effect resume record anonymous
89 ✗
Failing 157 effect inliner bare module name rejected — expected-error-missing
90 ✓
Passing 160 prototype mode incomplete program runs
91 ✓
Passing 161 prototype hole rejected without annotation
92 ✓
Passing 162 release rejects prototype module
93 ✓
Passing 163 release allows complete module
94 ✓
Passing 164 release rejects imported prototype
95 ✓
Passing 165 prototype tolerates undeclared branch
96 ✓
Passing 166 undeclared branch rejected without annotation
97 ✗
Failing 167 prototype scope must not leak across modules — must-error-passed
98 ✓
Passing 168 effect inliner guarded branch drops prelude
99 ✗
Failing 169 effect inline binding shadows producer local — output
100 ✓
Passing 170 effect inline unhandled void arm discard
101 ✓
Passing 171 effect marker on outcome branch rejected
102 ✓
Passing 172 continuation marker on effect rejected
103 ✓
Passing 173 effect unguarded multicast
104 ✓
Passing 174 effect unguarded arm not last unreachable
105 ✓
Passing 175 subflow body calls effect branch event
106 ✓
Passing 176 effect payload type qualified cross module