1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-10 04:22:20 +02:00

Fixed lambda bind to delegate type with outer generic

This commit is contained in:
Brian Fiete 2020-10-08 06:45:04 -07:00
parent 58370d2c8c
commit 16cd9f7a77
4 changed files with 16 additions and 5 deletions

View file

@ -10455,10 +10455,9 @@ void BfExprEvaluator::Visit(BfDelegateBindExpression* delegateBindExpr)
Val128 hash128 = hashCtx.Finish128();
BfClosureType* checkClosureType = new BfClosureType(delegateTypeInstance, hash128);
checkClosureType->mContext = mModule->mContext;
checkClosureType->mContext = mModule->mContext;
checkClosureType->mBaseType = delegateTypeInstance;
BfType* resolvedClosureType = mModule->ResolveType(checkClosureType, BfPopulateType_Identity);
BfType* resolvedClosureType = mModule->ResolveType(checkClosureType, BfPopulateType_TypeDef);
closureTypeInst = (BfClosureType*)resolvedClosureType;
if (checkClosureType == resolvedClosureType)
{
@ -11413,7 +11412,7 @@ BfLambdaInstance* BfExprEvaluator::GetLambdaInstance(BfLambdaBindExpression* lam
BfClosureType* checkClosureType = new BfClosureType(delegateTypeInstance, hash128);
checkClosureType->mContext = mModule->mContext;
checkClosureType->mBaseType = delegateTypeInstance;
BfType* resolvedClosureType = mModule->ResolveType(checkClosureType, BfPopulateType_Identity);
BfType* resolvedClosureType = mModule->ResolveType(checkClosureType, BfPopulateType_TypeDef);
closureTypeInst = (BfClosureType*)resolvedClosureType;
if (checkClosureType == resolvedClosureType)
{