Skip to main content

Module checker

Module checker 

Source
Expand description

Static checks over the AST + resolved types — a port of the reference implementation’s checker.ts (chapters 3–4). Implemented: E3001 duplicate module name E3003 unknown type name E4010 mixed range endpoints E4011 empty range / array size E4012 structurally empty intersection E4013 non-discriminable record union arms E4014 more than one non-record object arm in a union E4015 map key not string-shaped E4030 inheritance widening E4032 illegal member-kind transition E4052 ?? mixed with &&/|| unparenthesized E4094 context variable without / with an invalid context declaration plus the expression pass of infer.rs (inference, assignability, absence).

Structs§

CheckHooks
the language server’s tables, filled while the checker runs (infer.rs hooks)

Functions§

check_module