Sema: Special-case recording of Bind constraint in PreparedOverload

This commit is contained in:
Slava Pestov
2025-07-11 17:13:28 -04:00
parent 6e212de774
commit b39d3aee57
3 changed files with 28 additions and 0 deletions

View File

@@ -16365,6 +16365,11 @@ void ConstraintSystem::addConstraint(ConstraintKind kind, Type first,
PreparedOverloadBuilder *preparedOverload) {
if (preparedOverload) {
ASSERT(PreparingOverload);
if (kind == ConstraintKind::Bind) {
ASSERT(!isFavored);
preparedOverload->addedBindConstraint(first, second);
return;
}
auto c = Constraint::create(*this, kind, first, second,
getConstraintLocator(locator));
if (isFavored) c->setFavored();