From 7fbe0a6f2385e618ea4d3a724d2ed6147b6921bf Mon Sep 17 00:00:00 2001 From: gingerBill Date: Sun, 1 Dec 2019 11:56:08 +0000 Subject: Fix nil comparisons for soa slices and dynamic arrays --- src/types.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/types.cpp') 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; -- cgit v1.2.3