mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-11-01 07:33:12 +08:00
Constructor-only references are now proven acyclic (cycle-analysis.ts), so the self-hosting cases that meant to exercise the collector through such edges no longer saw a cycle: - emission: the nullable-union and mutually-recursive-class cases add an array edge (always mutable) to keep the traced path, and a new case pins the acyclic form of the nullable-union record. - backend analysis: "removing a leaf preserves another cyclic branch" closes its cycle through an array edge. (Split from the stack's later "Update self-hosting emission cases for acyclic proofs and inline allocation"; the inline-allocation half moves to the inline-allocation change.) tests/harness/self-hosting-emission.test.ts and self-hosting-backend-analysis.test.ts pass at this point of the stack.