Sema: Handle PackElement locator in repairFailures()

This commit is contained in:
Slava Pestov
2022-10-20 23:55:07 -04:00
parent afbf844b83
commit f3fcc44d17
3 changed files with 33 additions and 2 deletions

View File

@@ -5881,6 +5881,19 @@ bool ConstraintSystem::repairFailures(
break;
}
case ConstraintLocator::PackElement: {
path.pop_back();
if (!path.empty() && path.back().is<LocatorPathElt::PackType>())
path.pop_back();
if (!path.empty() && path.back().is<LocatorPathElt::PackType>())
path.pop_back();
return repairFailures(lhs, rhs, matchKind, conversionsOrFixes,
getConstraintLocator(anchor, path));
}
case ConstraintLocator::SequenceElementType: {
// This is going to be diagnosed as `missing conformance`,
// so no need to create duplicate fixes.