@@ -563,14 +563,6 @@ NormalProtocolConformance::getAssociatedConformance(Type assocType,
563563 forEachAssociatedConformance (
564564 [&](Type t, ProtocolDecl *p, unsigned index) {
565565 if (t->isEqual (assocType) && p == protocol) {
566- if (!ctx.LangOpts .EnableExperimentalAssociatedTypeInference ) {
567- // Fill in the signature conformances, if we haven't done so yet.
568- if (!hasComputedAssociatedConformances ()) {
569- const_cast <NormalProtocolConformance *>(this )
570- ->finishSignatureConformances ();
571- }
572- }
573-
574566 // Not strictly necessary, but avoids a bit of request evaluator
575567 // overhead in the happy case.
576568 if (hasComputedAssociatedConformances ()) {
@@ -632,28 +624,6 @@ void NormalProtocolConformance::setAssociatedConformance(
632624 AssociatedConformances[index] = assocConf;
633625}
634626
635- // / Collect conformances for the requirement signature.
636- void NormalProtocolConformance::finishSignatureConformances () {
637- if (Loader)
638- resolveLazyInfo ();
639-
640- if (hasComputedAssociatedConformances ())
641- return ;
642-
643- createAssociatedConformanceArray ();
644-
645- auto &ctx = getDeclContext ()->getASTContext ();
646-
647- forEachAssociatedConformance (
648- [&](Type origTy, ProtocolDecl *reqProto, unsigned index) {
649- auto canTy = origTy->getCanonicalType ();
650- evaluateOrDefault (ctx.evaluator ,
651- AssociatedConformanceRequest{this , canTy, reqProto, index},
652- ProtocolConformanceRef::forInvalid ());
653- return false ;
654- });
655- }
656-
657627Witness RootProtocolConformance::getWitness (ValueDecl *requirement) const {
658628 ROOT_CONFORMANCE_SUBCLASS_DISPATCH (getWitness, (requirement))
659629}
0 commit comments