[CSApply] Solve keypath methods and initializers.

This commit is contained in:
Amritpan Kaur
2025-01-10 13:16:35 -08:00
parent 724e3f9910
commit 0e895c6a2b
6 changed files with 95 additions and 25 deletions

View File

@@ -10825,9 +10825,6 @@ static ConstraintFix *validateInitializerRef(ConstraintSystem &cs,
// which means MetatypeType has to be added after finding a type variable.
if (baseLocator->isLastElement<LocatorPathElt::MemberRefBase>())
baseType = MetatypeType::get(baseType);
} else if (isExpr<KeyPathExpr>(anchor)) {
// Key path can't refer to initializers e.g. `\Type.init`
return AllowInvalidRefInKeyPath::forRef(cs, baseType, init, locator);
}
if (!baseType)