@@ -1097,8 +1097,7 @@ const RequirementSource *RequirementSource::getMinimalConformanceSource(
1097
1097
if (parentEquivClass->concreteType )
1098
1098
derivedViaConcrete = true ;
1099
1099
else if (parentEquivClass->superclass &&
1100
- builder.lookupConformance (parentType->getCanonicalType (),
1101
- parentEquivClass->superclass ,
1100
+ builder.lookupConformance (parentEquivClass->superclass ,
1102
1101
source->getProtocolDecl ()))
1103
1102
derivedViaConcrete = true ;
1104
1103
@@ -2591,8 +2590,7 @@ GenericSignatureBuilder::resolveConcreteConformance(ResolvedType type,
2591
2590
concreteSource = equivClass->concreteTypeConstraints .front ().source ;
2592
2591
2593
2592
// Lookup the conformance of the concrete type to this protocol.
2594
- auto conformance =
2595
- lookupConformance (type.getDependentType (), concrete, proto);
2593
+ auto conformance = lookupConformance (concrete, proto);
2596
2594
if (conformance.isInvalid ()) {
2597
2595
if (!concrete->hasError () && concreteSource->getLoc ().isValid ()) {
2598
2596
Impl->HadAnyError = true ;
@@ -2655,8 +2653,7 @@ const RequirementSource *GenericSignatureBuilder::resolveSuperConformance(
2655
2653
if (!superclass) return nullptr ;
2656
2654
2657
2655
// Lookup the conformance of the superclass to this protocol.
2658
- auto conformance =
2659
- lookupConformance (type.getDependentType (), superclass, proto);
2656
+ auto conformance = lookupConformance (superclass, proto);
2660
2657
if (conformance.isInvalid ())
2661
2658
return nullptr ;
2662
2659
@@ -3762,13 +3759,12 @@ GenericSignatureBuilder::LookUpConformanceInBuilder::operator()(
3762
3759
return conformedProtocol->getModuleContext ()->lookupConformance (
3763
3760
conformingReplacementType, conformedProtocol);
3764
3761
}
3765
- return builder->lookupConformance (dependentType, conformingReplacementType,
3762
+ return builder->lookupConformance (conformingReplacementType,
3766
3763
conformedProtocol);
3767
3764
}
3768
3765
3769
3766
ProtocolConformanceRef
3770
- GenericSignatureBuilder::lookupConformance (CanType dependentType,
3771
- Type conformingReplacementType,
3767
+ GenericSignatureBuilder::lookupConformance (Type conformingReplacementType,
3772
3768
ProtocolDecl *conformedProtocol) {
3773
3769
if (conformingReplacementType->isTypeParameter ())
3774
3770
return ProtocolConformanceRef (conformedProtocol);
@@ -3945,13 +3941,11 @@ ResolvedType GenericSignatureBuilder::maybeResolveEquivalenceClass(
3945
3941
if (baseEquivClass->conformsTo .find (proto)
3946
3942
== baseEquivClass->conformsTo .end ()) {
3947
3943
if (baseEquivClass->concreteType &&
3948
- lookupConformance (type->getCanonicalType (),
3949
- baseEquivClass->concreteType ,
3944
+ lookupConformance (baseEquivClass->concreteType ,
3950
3945
proto)) {
3951
3946
// Fall through
3952
3947
} else if (baseEquivClass->superclass &&
3953
- lookupConformance (type->getCanonicalType (),
3954
- baseEquivClass->superclass ,
3948
+ lookupConformance (baseEquivClass->superclass ,
3955
3949
proto)) {
3956
3950
// Fall through
3957
3951
} else {
@@ -3985,13 +3979,11 @@ ResolvedType GenericSignatureBuilder::maybeResolveEquivalenceClass(
3985
3979
: baseEquivClass->superclass );
3986
3980
} else {
3987
3981
if (baseEquivClass->concreteType &&
3988
- lookupConformance (type->getCanonicalType (),
3989
- baseEquivClass->concreteType ,
3982
+ lookupConformance (baseEquivClass->concreteType ,
3990
3983
proto)) {
3991
3984
parentType = baseEquivClass->concreteType ;
3992
3985
} else if (baseEquivClass->superclass &&
3993
- lookupConformance (type->getCanonicalType (),
3994
- baseEquivClass->superclass ,
3986
+ lookupConformance (baseEquivClass->superclass ,
3995
3987
proto)) {
3996
3988
parentType = baseEquivClass->superclass ;
3997
3989
} else {
@@ -5480,7 +5472,7 @@ class GenericSignatureBuilder::InferRequirementsWalker : public TypeWalker {
5480
5472
auto addSameTypeConstraint = [&](Type firstType,
5481
5473
AssociatedTypeDecl *assocType) {
5482
5474
auto *protocol = assocType->getProtocol ();
5483
- auto conf = Builder.lookupConformance (CanType (), firstType, protocol);
5475
+ auto conf = Builder.lookupConformance (firstType, protocol);
5484
5476
auto secondType = conf.getAssociatedType (
5485
5477
firstType, assocType->getDeclaredInterfaceType ());
5486
5478
Requirement req (RequirementKind::SameType, firstType, secondType);
0 commit comments