Chris Tate
d68a705975
Read a union's discriminant once in checked casts
...
A checked cast into a union whose discriminant has four or more string
literals reads the discriminant field once (scr_dyn_discriminant_case)
and then tests only the arms whose literal it holds and the arms without
a literal, in the union's arm order. Every other arm's literal test would
fail, so the arm chosen and the error for a value no arm matches are
unchanged. A typed capsule, an accessor or an inherited discriminant
still takes the tests arm by arm. Unions with fewer literals emit the
same code as before.
2026-10-23 22:31:08 -05:00
..
2026-10-20 18:08:10 -05:00
2026-10-08 09:38:23 -07:00
2026-10-20 18:08:10 -05:00
2026-10-08 09:38:23 -07:00
2026-10-20 18:08:10 -05:00
2026-10-08 09:38:23 -07:00
2026-10-20 18:08:10 -05:00
2026-10-16 00:06:31 -05:00
2026-10-20 18:08:10 -05:00
2026-10-19 23:24:56 -05:00
2026-10-20 18:08:10 -05:00
2026-10-08 15:33:00 -05:00
2026-10-20 18:08:10 -05:00
2026-10-08 09:38:23 -07:00
2026-10-20 18:08:10 -05:00
2026-10-15 18:26:48 -05:00
2026-10-22 13:49:49 -05:00
2026-10-22 13:49:49 -05:00
2026-10-22 23:52:25 -05:00
2026-10-22 23:52:25 -05:00
2026-10-20 18:08:10 -05:00
2026-10-08 09:38:23 -07:00
2026-10-20 18:08:10 -05:00
2026-10-08 15:33:00 -05:00
2026-10-23 09:53:05 -05:00
2026-10-23 09:53:05 -05:00
2026-10-20 18:08:10 -05:00
2026-10-20 18:08:10 -05:00
2026-10-20 18:08:10 -05:00
2026-10-20 18:08:10 -05:00
2026-10-15 19:59:56 -05:00
2026-10-20 18:08:10 -05:00
2026-10-20 18:08:10 -05:00
2026-10-08 09:38:23 -07:00
2026-10-23 22:31:08 -05:00
2026-10-23 22:31:08 -05:00
2026-10-20 18:08:10 -05:00
2026-10-08 15:51:42 -05:00
2026-10-20 18:08:10 -05:00
2026-10-20 18:08:10 -05:00
2026-10-15 17:47:34 -05:00
2026-10-20 18:08:10 -05:00
2026-10-08 09:38:23 -07:00
2026-10-20 18:08:10 -05:00
2026-10-14 13:02:38 -05:00
2026-10-20 18:08:10 -05:00
2026-10-15 22:19:05 -05:00
2026-10-20 18:08:10 -05:00
2026-10-14 21:07:40 -05:00
2026-10-20 18:08:10 -05:00
2026-10-08 09:38:23 -07:00
2026-10-20 18:08:10 -05:00
2026-10-08 09:38:23 -07:00
2026-10-20 18:08:10 -05:00
2026-10-15 22:22:32 -05:00
2026-10-20 18:08:10 -05:00
2026-10-08 09:38:23 -07:00
2026-10-20 18:08:10 -05:00
2026-10-20 18:08:10 -05:00
2026-10-18 04:11:02 -05:00
2026-10-22 01:11:37 -05:00
2026-10-22 08:31:12 -05:00
2026-10-15 14:19:47 -05:00
2026-10-20 18:08:10 -05:00
2026-10-15 14:19:47 -05:00
2026-10-20 18:08:10 -05:00
2026-10-15 14:19:47 -05:00
2026-10-20 18:08:10 -05:00
2026-10-20 14:11:26 -05:00
2026-10-20 18:08:10 -05:00
2026-10-08 09:38:23 -07:00
2026-10-20 18:08:10 -05:00
2026-10-14 02:44:11 -05:00
2026-10-20 18:08:10 -05:00
2026-10-17 12:07:26 -07:00
2026-10-20 18:08:10 -05:00
2026-10-08 09:38:23 -07:00
2026-10-20 19:05:22 -05:00
2026-10-19 07:46:06 -05:00