Preserve #no_nil in intrinsics.type_convert_variants_to_pointers

Previously the newly returned type would not be marked as `#no_nil`.
This caused `reflect.get_union_as_ptr_variants`
to break on `#no_nil` unions.
This commit is contained in:
korvahkh
2025-02-03 16:08:19 -06:00
parent 0e1c89e99b
commit 1281303ff7
+3
View File
@@ -5544,6 +5544,9 @@ gb_internal bool check_builtin_procedure(CheckerContext *c, Operand *operand, As
// NOTE(bill): Is this even correct?
new_type->Union.node = operand->expr;
new_type->Union.scope = bt->Union.scope;
if (bt->Union.kind == UnionType_no_nil) {
new_type->Union.kind = UnionType_no_nil;
}
operand->type = new_type;
}