aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/analyze.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/analyze.cpp b/src/analyze.cpp
index ba664fc19e..c3fb774a50 100644
--- a/src/analyze.cpp
+++ b/src/analyze.cpp
@@ -4047,7 +4047,6 @@ bool handle_is_ptr(ZigType *type_entry) {
return false;
case ZigTypeIdArray:
case ZigTypeIdStruct:
- case ZigTypeIdUnion:
return type_has_bits(type_entry);
case ZigTypeIdErrorUnion:
return type_has_bits(type_entry->data.error_union.payload_type);
@@ -4055,6 +4054,8 @@ bool handle_is_ptr(ZigType *type_entry) {
return type_has_bits(type_entry->data.maybe.child_type) &&
!type_is_nonnull_ptr(type_entry->data.maybe.child_type) &&
type_entry->data.maybe.child_type->id != ZigTypeIdErrorSet;
+ case ZigTypeIdUnion:
+ return type_has_bits(type_entry) && type_entry->data.unionation.gen_field_count != 0;
}
zig_unreachable();