@@ -4022,10 +4022,6 @@ ASTNode ConstraintSystem::includingParentApply(ASTNode node) {
40224022 return node;
40234023}
40244024
4025- Type Solution::resolveInterfaceType (Type type) const {
4026- return simplifyType (type, /* wantInterfaceType*/ true );
4027- }
4028-
40294025std::optional<FunctionArgApplyInfo>
40304026Solution::getFunctionArgApplyInfo (ConstraintLocator *locator) const {
40314027 // It's only valid to use `&` in argument positions, but we need
@@ -4118,13 +4114,12 @@ Solution::getFunctionArgApplyInfo(ConstraintLocator *locator) const {
41184114 auto *callee = choice ? choice->getDeclOrNull () : nullptr ;
41194115 if (callee && callee->hasInterfaceType ()) {
41204116 // 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.
41234119 //
41244120 // Note that it's possible to find a callee without an interface type. This
41254121 // 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.
41284123 fnInterfaceType = callee->getInterfaceType ();
41294124
41304125 // Strip off the curried self parameter if necessary.
@@ -4145,7 +4140,7 @@ Solution::getFunctionArgApplyInfo(ConstraintLocator *locator) const {
41454140 }
41464141#endif
41474142 } else {
4148- fnInterfaceType = resolveInterfaceType (rawFnType);
4143+ fnInterfaceType = simplifyType (rawFnType, /* wantInterfaceType */ true );
41494144 }
41504145
41514146 auto argIdx = applyArgElt->getArgIdx ();
0 commit comments