A bodiless #builtin with a $T: Type param routes through monomorphization. When resolveBuiltin returned null for an unrecognized name, the builtin-body branch fell through to ensureTerminator's constInt(0) -- a silent-fallback default the CLAUDE.md REJECTED PATTERNS forbid. Emit a loud 'error: unknown #builtin <name>' diagnostic instead. Regression: examples/1189-diagnostics-unknown-builtin.sx
6 lines
156 B
Plaintext
6 lines
156 B
Plaintext
error: unknown #builtin 'mystery'
|
|
--> examples/1189-diagnostics-unknown-builtin.sx:12:1
|
|
|
|
|
12 | mystery :: ($T: Type, x: T) -> T #builtin;
|
|
| ^^^^^^^
|