compiler features / parser
✓ 81 passing ✗ 2 failing ○ 3 planned
Lessons
1 ✓
Passing
lenient multiple errors
2 ✓
Passing 001 event multiline shape
3 ✓
Passing 003 conditional imports
4 ✓
Passing 004 branch when clauses
5 ✓
Passing 006 flow checker validation
6 ✓
Passing 007 flow checker missing else
7 ✓
Passing 008 tap nested continuation
8 ✓
Passing 009 source with scope capture
9 ✓
Passing 010 module annotations
10 ✓
Passing 011 optional branch catchall
11 ✓
Passing 012 missing required branch
12 ✓
Passing 013 void event chaining
13 ✓
Passing 014 void chaining nested
14 ✓
Passing 015 abstract impl
15 ✓
Passing 016 optional branches ignored
16 ✗
Failing 017 catchall end to end — backend-exec
17 ✓
Passing 018 multiline annotations
18 ✓
Passing 019 subflow multiline call
19 ✓
Passing 020 transitive imports
20 ✓
Passing 022 invocation parentheses rules
21 ✓
Passing 023 pipeline chain depth
22 ○
Planned 024 source scope capture — Dubious source-block-type-tag syntax — parked pending a design decision.
23 ✓
Passing 026 template interpolation
24 ✗
Failing 029 transform requires comptime — must-fail-passed
25 ✓
Passing 030 comptime flows
26 ✓
Passing 031 annotations in ast
27 ✓
Passing 032 implicit source param
28 ✓
Passing 034 parser wrapper
29 ✓
Passing 035 circular imports
30 ✓
Passing 036 expression parameter
31 ✓
Passing 037 expression scope capture
32 ✓
Passing 038 implicit expr and source
33 ○
Planned 039 file source syntax — STATUS: PARSER WORK PENDING / FEATURE UNCERTAIN
34 ✓
Passing 040 expression string capture
35 ✓
Passing 041 expression backslash escape
36 ✓
Passing 042 orisha pattern
37 ✓
Passing 043 inline continuation rejected
38 ✓
Passing 044 source block with branches
39 ✓
Passing 045 source block in pipeline
40 ✓
Passing 046 implicit expression with semicolon
41 ✓
Passing 047 flow step brace is invocation not constructor
42 ✓
Passing 048 loop unhandled branch
43 ✓
Passing 049 parser runtime
44 ✓
Passing 050 expression parameter emit
45 ✓
Passing 051 subflow field shorthand
46 ✓
Passing 052 pattern branches
47 ✓
Passing 053 reject old tap syntax
48 ✓
Passing 054 inline source block args
49 ✓
Passing 056 cross module comptime dispatch
50 ○
Planned 057 cross module comptime callsite fields — Cross-module comptime continuation missing raw AST fields (invocation, item) — emitArgs() injects program/allocator by name but has no mechanism for *const Invocation/*const Item pointers that transform events require
51 ✓
Passing 058 cross module comptime return type
52 ✓
Passing 059 reject tilde after pipe forward
53 ✓
Passing 060 proc abstract override
54 ✓
Passing 061 reject zig struct syntax
55 ✓
Passing 062 reject empty brace payload
56 ✓
Passing 063 reject single field braces
57 ✓
Passing 064 parser drops second call after void
58 ✓
Passing 065 reject inline flow in proc
59 ✓
Passing 066 reject pipe forward body on next line
60 ✓
Passing 070 reject terminal before effect at decl
61 ✓
Passing 071 reject terminal before effect at dispatch
62 ✓
Passing 072 effect branch simple decl
63 ✓
Passing 073 effect branch only no terminal
64 ✓
Passing 074 effect branch resume type
65 ✓
Passing 075 effect branch consumer dispatch
66 ✓
Passing 076 optional effect branch decl
67 ✓
Passing 077 effect catchall dispatch
68 ✓
Passing 078 reject redundant when parens
69 ✓
Passing 079 effect branch resume expression
70 ✓
Passing 080 body position expressions
71 ✓
Passing 081 reject bare terminal catchall discard
72 ✓
Passing 082 reject bare effect catchall discard
73 ✓
Passing 083 reject metatype catchall full discard
74 ✓
Passing 084 reject when only required terminal branch
75 ✓
Passing 085 reject when only required effect branch
76 ✓
Passing 086 accept when only optional effect branch
77 ✓
Passing 087 phantom literal suffix
78 ✓
Passing 088 reject redundant punning call site
79 ✓
Passing 089 reject redundant punning path
80 ✓
Passing 090 reject redundant punning constructor
81 ✓
Passing 091 explicit label required when not punnable
82 ✓
Passing 120 reject square bracket phantom
83 ✓
Passing 121 module annotation above import
84 ✓
Passing 122 char literal paren in args
85 ✓
Passing 123 label on subflow rhs panics
86 ✓
Passing 124 if cond and dropped