From 0b48a60592b1180d06a03d6fc663c57b8be21838 Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Sat, 9 Jan 2021 09:43:49 -0800 Subject: [PATCH] Generic delegate bind fix --- IDEHelper/Compiler/BfExprEvaluator.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/IDEHelper/Compiler/BfExprEvaluator.cpp b/IDEHelper/Compiler/BfExprEvaluator.cpp index edaa6c1f..b712f70b 100644 --- a/IDEHelper/Compiler/BfExprEvaluator.cpp +++ b/IDEHelper/Compiler/BfExprEvaluator.cpp @@ -1125,7 +1125,11 @@ BfTypedValue BfMethodMatcher::ResolveArgTypedValue(BfResolvedArg& resolvedArg, B BF_ASSERT(resolvedArg.mExpression->IsA()); auto delegateBindExpr = BfNodeDynCast(resolvedArg.mExpression); BfMethodInstance* boundMethodInstance = NULL; - if (exprEvaluator.CanBindDelegate(delegateBindExpr, &boundMethodInstance, origCheckType, genericArgumentsSubstitute)) + + auto bindType = checkType; + if ((bindType == NULL) && (origCheckType != NULL) && (!origCheckType->IsUnspecializedTypeVariation())) + bindType = checkType; + if (exprEvaluator.CanBindDelegate(delegateBindExpr, &boundMethodInstance, bindType, genericArgumentsSubstitute)) { if (delegateBindExpr->mNewToken == NULL) {