Files
scriptc/packages
Chris Tate 7534a22d58 Test the class arms of unions with array arms in instanceof
`x instanceof C` on a union whose arms include arrays, such as the
`Entry<V> | V` values of a generic Map instantiated with an array V,
answered false for every value: the union test accepted only class,
record, scalar and unit arms, and any other union fell through to the
statically decided false for values that are not class instances. A
class-arm value then took the other branch, and code reading it as the
array arm crashed.

Array arms now take the union test, which checks the tag of each class
arm and answers false for the others; no program class extends Array.
A union that has a class arm and still cannot be tested is refused with
SC1090 instead of answering false.
2026-10-16 04:32:11 -05:00
..
2026-10-16 01:29:54 -05:00
2026-10-16 01:29:54 -05:00
2026-10-16 01:29:54 -05:00
2026-10-16 01:29:54 -05:00
2026-10-16 01:29:54 -05:00
2026-10-16 01:29:54 -05:00
2026-10-16 01:29:54 -05:00
2026-10-16 01:29:54 -05:00
2026-10-16 01:29:54 -05:00
2026-10-16 01:29:54 -05:00
2026-10-16 01:29:54 -05:00
2026-10-16 01:29:54 -05:00
2026-10-16 01:29:54 -05:00
2026-10-16 01:29:54 -05:00
2026-10-16 01:29:54 -05:00
2026-10-16 01:29:54 -05:00
2026-10-16 01:29:54 -05:00
2026-10-16 01:29:54 -05:00
2026-10-16 01:29:54 -05:00
2026-10-16 01:29:54 -05:00
2026-10-16 01:29:54 -05:00
2026-10-16 01:29:54 -05:00
2026-10-16 01:29:54 -05:00
2026-10-16 01:29:54 -05:00
2026-10-16 01:29:54 -05:00
2026-10-15 21:48:48 -05:00
2026-10-16 01:29:54 -05:00
2026-10-16 01:29:54 -05:00
2026-10-16 01:29:54 -05:00
2026-10-16 01:29:54 -05:00