aboutsummaryrefslogtreecommitdiff
path: root/src/types.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/types.cpp')
-rw-r--r--src/types.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/types.cpp b/src/types.cpp
index 63647dcf3..e5f4f7957 100644
--- a/src/types.cpp
+++ b/src/types.cpp
@@ -1585,6 +1585,13 @@ bool type_has_nil(Type *t) {
case Type_Union:
return !t->Union.no_nil;
case Type_Struct:
+ if (is_type_soa_struct(t)) {
+ switch (t->Struct.soa_kind) {
+ case StructSoa_Fixed: return false;
+ case StructSoa_Slice: return true;
+ case StructSoa_Dynamic: return true;
+ }
+ }
return false;
case Type_Opaque:
return true;