zig/test/behavior
Andrew Kelley dfb3231959 stage2: implement switching on unions
* AstGen: Move `refToIndex` and `indexToRef` to Zir
 * ZIR: the switch_block_*_* instruction tags are collapsed into one
   switch_block tag which uses 4 bits for flags, and reduces the
   scalar_cases_len field from 32 to 28 bits.
   This freed up more ZIR tags, 2 of which are now used for
   `switch_cond` and `switch_cond_ref` for producing the switch
   condition value. For example, for union values it returns the
   corresponding enum value.
 * switching with multiple cases and ranges is not yet supported because
   I want to change the ZIR encoding to store index pointers into the
   extra array rather than storing prong indexes. This will avoid O(N^2)
   iteration over prongs.
 * AstGen now adds a `switch_cond` on the operand and then passes the
   result of that to the `switch_block` instruction.
 * Sema: partially implement `switch_capture_*` instructions.
 * Sema: `unionToTag` notices if the enum type has only one possible value.
2021-10-19 20:22:47 -07:00
..
2021-06-21 17:03:03 -07:00
2021-10-04 23:30:04 -07:00
2021-08-01 12:36:04 -07:00
2021-08-30 18:50:07 -04:00
2021-10-05 23:05:14 -07:00
2021-10-05 21:38:47 -07:00
2021-06-21 17:03:03 -07:00
2021-10-17 20:33:04 +02:00
2021-10-17 20:33:04 +02:00
2021-10-05 16:56:46 -07:00
2021-07-26 20:05:48 -04:00