advanced features / stdlib

✓ 71 passing ○ 4 planned

Lessons

1 ✓ Passing
001 std if
2 ✓ Passing
002 stdlib if
3 ✓ Passing
003 stdlib if scoped
4 ✓ Passing
010 std for basic
5 ✓ Passing
011 std for nested
6 ✓ Passing
018 template define
7 ✓ Passing
019 template lookup
8 ✓ Passing
020 if inline codegen
9 ✓ Passing
021 for zero overhead
10 ✓ Passing
022 for outer scope
11 ✓ Passing
023 for pipeline
12 ✓ Passing
024 for deeply nested
13 ✓ Passing
025 if deeply nested
14 ✓ Passing
026 for subflow
15 ✓ Passing
027 capture basic
16 ✓ Passing
028 capture multi
17 ✓ Passing
029 template lookup in transform
18 ✓ Passing
030 println basic
19 ✓ Passing
031 println types
20 ✓ Passing
032 println blk basic
21 ✓ Passing
033 println koru scope
22 ✓ Passing
034 capture nested
23 ○ Planned
035 capture multi field — Multi-field captured updating multiple captures: captured { inner: 42, outer: 99 }
24 ✓ Passing
036 capture nested qualified
25 ✓ Passing
037 nested if simple
26 ✓ Passing
039 if inside for
27 ✓ Passing
040 for inside if
28 ✓ Passing
041 triple nested
29 ✓ Passing
042 capture if for multi
30 ✓ Passing
043 const basic
31 ✓ Passing
044 const simple
32 ✓ Passing
045 capture array index
33 ✓ Passing
046 capture existing struct
34 ✓ Passing
047 if subflow enclosing branches
35 ✓ Passing
048 reject for terminal each
36 ✓ Passing
049 println conditionals
37 ✓ Passing
050 transform impl pattern
38 ✓ Passing
053 println blk conditionals
39 ✓ Passing
054 transform order
40 ✓ Passing
055 nested for simple
41 ✓ Passing
057 capture 2d array index
42 ✓ Passing
060 fs read lines
43 ✓ Passing
070 for with binding
44 ✓ Passing
081 ecology pass ran mechanism
45 ○ Planned
082 ecology custom transform — ECOLOGY: User-defined transforms should work like stdlib
46 ✓ Passing
090 rings basic
47 ✓ Passing
091 print float format
48 ✓ Passing
092 print blk void chain multiline
49 ✓ Passing
093 print blk void chain inline second
50 ✓ Passing
094 std if nested
51 ✓ Passing
098 capture nested site
52 ✓ Passing
100 print blk raw posix variant
53 ✓ Passing
101 rings proto element
54 ✓ Passing
103 rings dequeue none
55 ✓ Passing
104 rings missing capacity
56 ✓ Passing
105 rings capacity not pow2
57 ✓ Passing
106 rings two elements refused
58 ✓ Passing
107 rings undeclared name
59 ✓ Passing
108 rings unknown element
60 ✓ Passing
109 rings borrow element
61 ✓ Passing
110 rings supervised full retry
62 ✓ Passing
111 rings supervised full exhausted
63 ✓ Passing
112 rings supervised none retry
64 ○ Planned
113 rings supervised reenter ringop — OWED: supervise a std/rings verb directly — v1 supervises same-module children only; cross-module fold re-entry (and transform-tor re-entry inside generated steps) is the owed machinery.
65 ✓ Passing
114 const field missing comma refused
66 ✓ Passing
115 const field nameless entry refused
67 ✓ Passing
116 const field typeless entry refused
68 ✓ Passing
117 const field duplicate name refused
69 ✓ Passing
118 const field bare entry refused
70 ✓ Passing
119 const field list comma and newline
71 ✓ Passing
171 rings phantom element refused
72 ○ Planned
172 rings enclosing full arm fold — OWED: enclosing-arm claim — an unhandled branch resolves outward to the nearest compatible same-named arm. Needs a post-transform coverage-time pass (transform-minted `__ring_*` decls are invisible to the frontend desugar — compiler.kz:1259).
73 ✓ Passing
173 rings enclosing arm payload mismatch
74 ✓ Passing
175 rings full arm
75 ✓ Passing
176 rings owned leaf element refused