diff --git a/IDEHelper/Compiler/BfStmtEvaluator.cpp b/IDEHelper/Compiler/BfStmtEvaluator.cpp index 27fe5279..312a94af 100644 --- a/IDEHelper/Compiler/BfStmtEvaluator.cpp +++ b/IDEHelper/Compiler/BfStmtEvaluator.cpp @@ -2415,7 +2415,9 @@ void BfModule::HandleCaseEnumMatch_Tuple(BfTypedValue tupleVal, const BfSizedArr auto tupleElement = Cast(deferredAssign.mExpr, deferredAssign.mTupleElement, argValue.mType); if (!tupleElement) continue; - mBfIRBuilder->CreateStore(tupleElement.mValue, argValue.mValue); + tupleElement = LoadValue(tupleElement); + if (!tupleElement.mType->IsValuelessType()) + mBfIRBuilder->CreateStore(tupleElement.mValue, argValue.mValue); } if ((clearOutOnMismatch) && (!deferredAssigns.IsEmpty()))