mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-11-02 07:43:42 +08:00
Stage L3 of the localized-failure design. A degraded type used to become the checked dynamic as a whole slot. Its lenient mapping now keeps the compilable shape: the type maps again with every nested component whose mapping fails as the checked dynamic, so a record keeps its static members with one dynamic member, an array of records keeps its records, and a Map, Promise or function keeps its static parts. When even that shape does not map, or a unit still fails with it, the type falls back to the whole-slot checked dynamic (one more round). Lenient forms are IR types of one lowerer's shape tables, so the coverage remainder re-derives them. A pushed-down type is one SC6104, at the slot where it degraded, marked as keeping its shape. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>