From b3ef77e9dd93bd0c10fa543f67bc26fe1050cf75 Mon Sep 17 00:00:00 2001 From: Morgan Date: Mon, 1 Dec 2025 16:24:57 +0100 Subject: [PATCH] undetected type declaration cycles work-around --- src/types.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/types.cpp b/src/types.cpp index eb20b8edf..0db2fe8aa 100644 --- a/src/types.cpp +++ b/src/types.cpp @@ -4278,6 +4278,9 @@ gb_internal i64 *type_set_offsets_of(Slice const &fields, bool is_pack gb_internal bool type_set_offsets(Type *t) { t = base_type(t); if (t->kind == Type_Struct) { + if (t->Struct.are_offsets_being_processed.load()) { + return true + } MUTEX_GUARD(&t->Struct.offset_mutex); if (!t->Struct.are_offsets_set) { t->Struct.are_offsets_being_processed.store(true);