Files
scriptc/packages
Malte Ubl 73ee5e17e9 Acyclic: a dedicated default interface; shortest cycle in explanations
`implements Acyclic` resolved to Record<never, never>, and the frontend
indexes implemented types as class protocols by symbol, so every Record
value in the program took checked identity (on tsc-ts: Int32 field
contracts failed with SC7003). The default is now AcyclicObject, an empty
interface only @scriptc/types declares, and type arguments in heritage
clauses are reported (they would make a class implement its own type).
Corpus 4642 stores an Acyclic class with an Int32 field in a Record.

explainCycle picks the shortest cycle through the unit and a mutable
edge (BFS distances forward and backward within the component): on
tsc-ts `Node.parent -> Node` instead of a 20-step path through the
checker.
2026-10-11 16:30:25 -07:00
..
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00
2026-10-10 10:08:39 -05:00