mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-17 23:56:05 +02:00
Fixed double-evaluation of enum field with lambda bind
This commit is contained in:
parent
66d3cce6a6
commit
33daf12c03
2 changed files with 19 additions and 7 deletions
|
@ -9563,13 +9563,7 @@ BfTypedValue BfExprEvaluator::CheckEnumCreation(BfAstNode* targetSrc, BfTypeInst
|
|||
continue;
|
||||
|
||||
argValue = mModule->AggregateSplat(argValue);
|
||||
argValues.mResolvedArgs[tupleFieldIdx].mExpectedType = resolvedFieldType;
|
||||
if ((argValues.mResolvedArgs[tupleFieldIdx].mArgFlags & (BfArgFlag_DelegateBindAttempt | BfArgFlag_LambdaBindAttempt | BfArgFlag_UnqualifiedDotAttempt)) != 0)
|
||||
{
|
||||
auto expr = BfNodeDynCast<BfExpression>(argValues.mResolvedArgs[tupleFieldIdx].mExpression);
|
||||
BF_ASSERT(expr != NULL);
|
||||
argValue = mModule->CreateValueFromExpression(expr, resolvedFieldType, (BfEvalExprFlags)(mBfEvalExprFlags & BfEvalExprFlags_InheritFlags));
|
||||
}
|
||||
argValues.mResolvedArgs[tupleFieldIdx].mExpectedType = resolvedFieldType;
|
||||
|
||||
if (argValue)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue