diff --git a/IDEHelper/Compiler/BfModule.cpp b/IDEHelper/Compiler/BfModule.cpp index 3d0ef3df..37d9eec9 100644 --- a/IDEHelper/Compiler/BfModule.cpp +++ b/IDEHelper/Compiler/BfModule.cpp @@ -15743,7 +15743,11 @@ void BfModule::EmitDtorBody() } else { - if (!mCurTypeInstance->IsValueType()) + if (fieldInst->mResolvedType->IsValuelessType()) + { + value = mBfIRBuilder->GetFakeVal(); + } + else if (!mCurTypeInstance->IsValueType()) { auto thisValue = GetThis(); value = mBfIRBuilder->CreateInBoundsGEP(thisValue.mValue, 0, fieldInst->mDataIdx);