1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-09 12:02:21 +02:00

Fixed "stuck" validation errors in unspecialized type variations

This commit is contained in:
Brian Fiete 2020-12-26 07:36:45 -08:00
parent ff6c7c5b90
commit 5808bd555c

View file

@ -351,6 +351,7 @@ bool BfModule::ValidateGenericConstraints(BfTypeReference* typeRef, BfTypeInstan
BfError* error = NULL;
if ((genericArg == NULL) || (!CheckGenericConstraints(BfGenericParamSource(genericTypeInst), genericArg, typeRef, genericParamInstance, NULL, &error)))
{
if (!genericTypeInst->IsUnspecializedTypeVariation())
genericTypeInst->mGenericTypeInfo->mHadValidateErrors = true;
return false;
}
@ -2019,6 +2020,7 @@ void BfModule::DoPopulateType(BfType* resolvedTypeRef, BfPopulateType populateTy
return;
}
if (!typeInstance->mTypeFailed)
CheckCircularDataError();
bool underlyingTypeDeferred = false;
@ -9154,10 +9156,6 @@ BfType* BfModule::ResolveTypeRef(BfTypeReference* typeRef, BfPopulateType popula
BF_ASSERT(BfResolvedTypeSet::Hash(tupleType, &lookupCtx) == resolvedEntry->mHash);
populateModule->InitType(tupleType, populateType);
#ifdef _DEBUG
BF_ASSERT(ResolveType(tupleType, BfPopulateType_Identity) == tupleType);
#endif
return ResolveTypeResult(typeRef, tupleType, populateType, resolveFlags);
}
else if (auto nullableTypeRef = BfNodeDynCast<BfNullableTypeRef>(typeRef))