@@ -2961,8 +2961,8 @@ LookUpConformanceInModule::operator()(CanType dependentType,
2961
2961
return ProtocolConformanceRef (conformedProtocol->getDecl ());
2962
2962
2963
2963
return M->lookupConformance (conformingReplacementType,
2964
- conformedProtocol->getDecl (),
2965
- conformingReplacementType ->getASTContext ().getLazyResolver ());
2964
+ conformedProtocol->getDecl (),
2965
+ M ->getASTContext ().getLazyResolver ());
2966
2966
}
2967
2967
2968
2968
Optional<ProtocolConformanceRef>
@@ -2982,6 +2982,21 @@ MakeAbstractConformanceForGenericType::operator()(CanType dependentType,
2982
2982
return ProtocolConformanceRef (conformedProtocol->getDecl ());
2983
2983
}
2984
2984
2985
+ Optional<ProtocolConformanceRef>
2986
+ LookUpConformanceInSignature::operator ()(CanType dependentType,
2987
+ Type conformingReplacementType,
2988
+ ProtocolType *conformedProtocol) const {
2989
+ // FIXME: Actually implement this properly.
2990
+ auto *M = conformedProtocol->getDecl ()->getParentModule ();
2991
+
2992
+ if (conformingReplacementType->isTypeParameter ())
2993
+ return ProtocolConformanceRef (conformedProtocol->getDecl ());
2994
+
2995
+ return M->lookupConformance (conformingReplacementType,
2996
+ conformedProtocol->getDecl (),
2997
+ M->getASTContext ().getLazyResolver ());
2998
+ }
2999
+
2985
3000
Type DependentMemberType::substBaseType (ModuleDecl *module ,
2986
3001
Type substBase,
2987
3002
LazyResolver *resolver) {
0 commit comments