From f1c38c792d690b5713862561c9d1bfe857cdc2a6 Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Mon, 3 Jan 2022 07:43:06 -0500 Subject: [PATCH] Tuple deferred assignment fix with casted ref values --- IDEHelper/Compiler/BfStmtEvaluator.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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()))