mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-06 15:48:51 +00:00
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:
@@ -5544,6 +5544,9 @@ gb_internal bool check_builtin_procedure(CheckerContext *c, Operand *operand, As
|
|||||||
// NOTE(bill): Is this even correct?
|
// NOTE(bill): Is this even correct?
|
||||||
new_type->Union.node = operand->expr;
|
new_type->Union.node = operand->expr;
|
||||||
new_type->Union.scope = bt->Union.scope;
|
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;
|
operand->type = new_type;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user