diff --git a/lib/Sema/CSSolver.cpp b/lib/Sema/CSSolver.cpp index 4bf720214dc00..295400c49eb62 100644 --- a/lib/Sema/CSSolver.cpp +++ b/lib/Sema/CSSolver.cpp @@ -800,6 +800,12 @@ void ConstraintSystem::shrink(Expr *expr) { return {false, expr}; } + // Similar to 'ClosureExpr', 'TapExpr' has a 'VarDecl' the type of which + // is determined by type checking the parent interpolated string literal. + if (isa(expr)) { + return {false, expr}; + } + if (auto coerceExpr = dyn_cast(expr)) { if (coerceExpr->isLiteralInit()) ApplyExprs.push_back({coerceExpr, 1});