@@ -4022,10 +4022,6 @@ ASTNode ConstraintSystem::includingParentApply(ASTNode node) {
4022
4022
return node;
4023
4023
}
4024
4024
4025
- Type Solution::resolveInterfaceType (Type type) const {
4026
- return simplifyType (type, /* wantInterfaceType*/ true );
4027
- }
4028
-
4029
4025
std::optional<FunctionArgApplyInfo>
4030
4026
Solution::getFunctionArgApplyInfo (ConstraintLocator *locator) const {
4031
4027
// It's only valid to use `&` in argument positions, but we need
@@ -4118,13 +4114,12 @@ Solution::getFunctionArgApplyInfo(ConstraintLocator *locator) const {
4118
4114
auto *callee = choice ? choice->getDeclOrNull () : nullptr ;
4119
4115
if (callee && callee->hasInterfaceType ()) {
4120
4116
// If we have a callee with an interface type, we can use it. This is
4121
- // preferable to resolveInterfaceType , as this will allow us to get a
4122
- // GenericFunctionType for generic decls.
4117
+ // preferable to simplifyType for the function , as this will allow us to get
4118
+ // a GenericFunctionType for generic decls.
4123
4119
//
4124
4120
// Note that it's possible to find a callee without an interface type. This
4125
4121
// can happen for example with closure parameters, where the interface type
4126
- // isn't set until the solution is applied. In that case, use
4127
- // resolveInterfaceType.
4122
+ // isn't set until the solution is applied. In that case, use simplifyType.
4128
4123
fnInterfaceType = callee->getInterfaceType ();
4129
4124
4130
4125
// Strip off the curried self parameter if necessary.
@@ -4145,7 +4140,7 @@ Solution::getFunctionArgApplyInfo(ConstraintLocator *locator) const {
4145
4140
}
4146
4141
#endif
4147
4142
} else {
4148
- fnInterfaceType = resolveInterfaceType (rawFnType);
4143
+ fnInterfaceType = simplifyType (rawFnType, /* wantInterfaceType */ true );
4149
4144
}
4150
4145
4151
4146
auto argIdx = applyArgElt->getArgIdx ();
0 commit comments