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

Fixed tuple type with generics with extern constraints

This commit is contained in:
Brian Fiete 2021-11-01 07:30:13 -07:00
parent b298b232ef
commit 78524657ba

View file

@ -10358,10 +10358,15 @@ BfType* BfModule::ResolveTypeRef(BfTypeReference* typeRef, BfPopulateType popula
for (int i = 0; i < parentTypeInstance->mGenericTypeInfo->mGenericParams.size(); i++) for (int i = 0; i < parentTypeInstance->mGenericTypeInfo->mGenericParams.size(); i++)
{ {
actualTupleType->mGenericTypeInfo->mGenericParams.push_back(parentTypeInstance->mGenericTypeInfo->mGenericParams[i]->AddRef()); actualTupleType->mGenericTypeInfo->mGenericParams.push_back(parentTypeInstance->mGenericTypeInfo->mGenericParams[i]->AddRef());
}
for (int i = 0; i < parentTypeInstance->mGenericTypeInfo->mTypeGenericArguments.size(); i++)
{
actualTupleType->mGenericTypeInfo->mTypeGenericArguments.push_back(parentTypeInstance->mGenericTypeInfo->mTypeGenericArguments[i]); actualTupleType->mGenericTypeInfo->mTypeGenericArguments.push_back(parentTypeInstance->mGenericTypeInfo->mTypeGenericArguments[i]);
auto typeGenericArg = actualTupleType->mGenericTypeInfo->mTypeGenericArguments[i]; auto typeGenericArg = actualTupleType->mGenericTypeInfo->mTypeGenericArguments[i];
actualTupleType->mGenericTypeInfo->mIsUnspecialized |= typeGenericArg->IsGenericParam() || typeGenericArg->IsUnspecializedType(); actualTupleType->mGenericTypeInfo->mIsUnspecialized |= typeGenericArg->IsGenericParam() || typeGenericArg->IsUnspecializedType();
} }
CheckUnspecializedGenericType(actualTupleType, populateType); CheckUnspecializedGenericType(actualTupleType, populateType);
if (isUnspecialized) if (isUnspecialized)
{ {