From fc9fef2cf37c166ec87abcaa953ab0ce35ffccda Mon Sep 17 00:00:00 2001 From: Suyash Srijan Date: Thu, 29 Aug 2019 20:38:57 +0100 Subject: [PATCH] [CS] Be more defensive in isIUOWrappedInParens() check --- lib/Sema/ConstraintSystem.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/lib/Sema/ConstraintSystem.cpp b/lib/Sema/ConstraintSystem.cpp index 9c5829342c0..f57a6498f09 100644 --- a/lib/Sema/ConstraintSystem.cpp +++ b/lib/Sema/ConstraintSystem.cpp @@ -2199,13 +2199,18 @@ void ConstraintSystem::resolveOverload(ConstraintLocator *locator, if (!type || !type->is()) return false; - if (auto call = dyn_cast(locator->getAnchor())) - return call->getSemanticFn() != call->getFn(); + auto expr = locator->getAnchor(); + if (!expr) + return false; - if (auto paren = getParentExpr(locator->getAnchor())) { - return isa(paren); + if (isa(expr)) { + return false; } + auto parentExpr = getParentExpr(expr); + if (parentExpr && isa(parentExpr)) + return true; + return false; };