mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-08 19:48:20 +02:00
Improved extern type constraints
This commit is contained in:
parent
99989d5472
commit
32cd6d8841
8 changed files with 280 additions and 85 deletions
|
@ -2023,10 +2023,21 @@ bool BfTypeInstance::IsTypeMemberIncluded(BfTypeDef* typeDef, BfTypeDef* activeT
|
|||
|
||||
for (int genericIdx = 0; genericIdx < (int)declConstraints->size(); genericIdx++)
|
||||
{
|
||||
auto genericType = mGenericTypeInfo->mTypeGenericArguments[genericIdx];
|
||||
|
||||
auto declGenericParam = (*declConstraints)[genericIdx];
|
||||
if (!module->CheckGenericConstraints(BfGenericParamSource(), genericType, NULL, declGenericParam))
|
||||
|
||||
BfType* genericArg;
|
||||
if (genericIdx < (int)mGenericTypeInfo->mTypeGenericArguments.size())
|
||||
{
|
||||
genericArg = mGenericTypeInfo->mTypeGenericArguments[genericIdx];
|
||||
}
|
||||
else
|
||||
{
|
||||
genericArg = declGenericParam->mExternType;
|
||||
}
|
||||
|
||||
//auto genericType = mGenericTypeInfo->mTypeGenericArguments[genericIdx];
|
||||
|
||||
if ((genericArg == NULL) || (!module->CheckGenericConstraints(BfGenericParamSource(), genericArg, NULL, declGenericParam)))
|
||||
return false;
|
||||
|
||||
//if (!mModule->AreConstraintsSubset((*declConstraints)[genericIdx], (*activeConstraints)[genericIdx]))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue