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) {