Commit d81b07f
Normalize the sealed unsealed sentinel value type in the constructor
Centralize protection of the sealed `[never, never]` unsealed sentinel:
whenever a ConstantArrayType is sealed (its unsealed key is the explicit
`never`), force the unsealed value slot back to the explicit-never
sentinel. This prevents any caller from planting a projected/transformed
type (e.g. an ErrorType produced by mapping the sentinel as if it were a
real element) into the slot, where UnresolvableTypeHelper would later
flag it as a bogus "contains unresolvable type" error.
This supersedes the per-call-site guard in mapValueType, which is now
reverted to its simpler form since recreate() routes every transform
through the constructor normalization.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>1 parent 6ee0856 commit d81b07f
1 file changed
Lines changed: 10 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
181 | 181 | | |
182 | 182 | | |
183 | 183 | | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
184 | 192 | | |
185 | 193 | | |
186 | 194 | | |
| |||
3186 | 3194 | | |
3187 | 3195 | | |
3188 | 3196 | | |
3189 | | - | |
3190 | | - | |
| 3197 | + | |
| 3198 | + | |
3191 | 3199 | | |
3192 | 3200 | | |
3193 | 3201 | | |
| |||
0 commit comments