[ConstraintSystem] Add same-type requirement fix/diagnostic

Extend new requirement failure diagnostics by adding "same-type"
generic requirement failures.
This commit is contained in:
Pavel Yaskevich
2018-08-18 00:27:43 -07:00
parent 82d4d1e207
commit 3cc613497c
12 changed files with 176 additions and 39 deletions

View File

@@ -163,3 +163,15 @@ MissingConformance *MissingConformance::create(ConstraintSystem &cs, Type type,
ConstraintLocator *locator) {
return new (cs.getAllocator()) MissingConformance(type, protocol, locator);
}
bool SkipSameTypeRequirement::diagnose(Expr *root,
const Solution &solution) const {
SameTypeRequirementFailure failure(root, solution, LHS, RHS, getLocator());
return failure.diagnose();
}
SkipSameTypeRequirement *
SkipSameTypeRequirement::create(ConstraintSystem &cs, Type lhs, Type rhs,
ConstraintLocator *locator) {
return new (cs.getAllocator()) SkipSameTypeRequirement(lhs, rhs, locator);
}