@@ -628,9 +628,7 @@ namespace {
628628 if (AnyFunctionRef (fnDecl).hasExternalPropertyWrapperParameters () &&
629629 (declRefExpr->getFunctionRefKind () == FunctionRefKind::Compound ||
630630 declRefExpr->getFunctionRefKind () == FunctionRefKind::Unapplied)) {
631- auto &appliedWrappers = solution.appliedPropertyWrappers [locator.getAnchor ()];
632- result = buildPropertyWrapperFnThunk (result, fullType->getAs <FunctionType>(), fnDecl,
633- ref, appliedWrappers);
631+ result = buildSingleCurryThunk (result, fnDecl, locator);
634632 }
635633 }
636634
@@ -8360,8 +8358,6 @@ namespace {
83608358
83618359 AutoClosureExpr *rewriteClosure (ClosureExpr *closure) {
83628360 auto &solution = Rewriter.solution ;
8363- auto closureType = solution.simplifyType (solution.getType (closure));
8364- FunctionType *closureFnType = closureType->castTo <FunctionType>();
83658361
83668362 // Apply types to synthesized property wrapper vars.
83678363 for (auto *param : *closure->getParameters ()) {
@@ -8399,9 +8395,8 @@ namespace {
83998395
84008396 TypeChecker::checkParameterList (closure->getParameters (), closure);
84018397
8402- auto &appliedWrappers = Rewriter.solution .appliedPropertyWrappers [closure];
8403- return Rewriter.buildPropertyWrapperFnThunk (closure, closureFnType, closure,
8404- ConcreteDeclRef (), appliedWrappers);
8398+ return Rewriter.buildSingleCurryThunk (
8399+ closure, closure, Rewriter.cs .getConstraintLocator (closure));
84058400 }
84068401
84078402 // / Rewrite the function for the given solution.
0 commit comments