diff --git a/IDEHelper/Compiler/BfModule.cpp b/IDEHelper/Compiler/BfModule.cpp index c7ecb2d7..1bfc5099 100644 --- a/IDEHelper/Compiler/BfModule.cpp +++ b/IDEHelper/Compiler/BfModule.cpp @@ -23221,7 +23221,7 @@ void BfModule::DoMethodDeclaration(BfMethodDeclaration* methodDeclaration, bool bool interfaceFound = false; for (auto ifaceInst : typeInstance->mInterfaces) interfaceFound |= ifaceInst.mInterfaceType == mCurMethodInstance->mMethodInfoEx->mExplicitInterface; - if (!interfaceFound) + if ((!interfaceFound) && (!typeInstance->mTypeFailed)) { if (methodDef->mMethodDeclaration != NULL) Fail("Containing class has not declared to implement this interface", methodDef->mMethodDeclaration); diff --git a/IDEHelper/Compiler/BfModuleTypeUtils.cpp b/IDEHelper/Compiler/BfModuleTypeUtils.cpp index a2c10aca..6c21ca16 100644 --- a/IDEHelper/Compiler/BfModuleTypeUtils.cpp +++ b/IDEHelper/Compiler/BfModuleTypeUtils.cpp @@ -4957,7 +4957,7 @@ void BfModule::DoPopulateType(BfType* resolvedTypeRef, BfPopulateType populateTy bool interfaceFound = false; for (auto ifaceInst : typeInstance->mInterfaces) interfaceFound |= ifaceInst.mInterfaceType == explicitInterface; - if (!interfaceFound) + if ((!interfaceFound) && (!typeInstance->mTypeFailed)) { Fail("Containing class has not declared to implement this interface", propDecl->mExplicitInterface, true); }