This uses the same approach as error unions, meaning it's a `WValue` with its tag set to `multi_value`. The initial index of the multi_value will contain the null-tag, used to check if the value is null or not. The other values will be the payload. To support the `.?` shorthand syntax, we save the result from checking the null-tag into a new local, which can then be loaded later in the block to either hit `unreachable` or set the actual payload value. Currently, it seems `.?` and `orelse unreachable` results in different AIR structure. TODO: Is this expected?
Luuk de Gram committed on 8/1/2021, 9:07:23 AMparente589765
1 file changedLine totals unavailable