mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-11-06 08:23:19 +08:00
Three fixes to distributing a conditional member over a generic body's bound parameter: - Consulting the binding counts as a context resolution, so a mapping that drops an all-never part is no longer cached as context-free and reused by a recursive shape for a binding whose member is inhabited. - An `unknown` or `any` result absorbs the other results, as the checker's union does, so the member is checked-dynamic. Before, the union kept a `dyn` arm, and the build stopped with SC9001. - `undefined` and `null` results become the union's unit arms, as in the concrete instantiation. Before, `undefined` mapped on its own to a `void` arm, which also failed with SC9001. Corpus generic-conditional-member-units covers the `unknown` and the `undefined`/`null` members.