Merge pull request #29011 from LucianoPAlmeida/coercion-handle-contextual-mismatch

[Diagnostics] Handle CoerceExpr conversion failure in contextual mismatch
This commit is contained in:
Pavel Yaskevich
2020-01-06 11:31:12 -08:00
committed by GitHub
6 changed files with 47 additions and 15 deletions

View File

@@ -2823,6 +2823,15 @@ bool ConstraintSystem::repairFailures(
conversionsOrFixes.push_back(coerceToCheckCastFix);
return true;
}
// If it has a deep equality restriction, defer the diagnostic to
// GenericMismatch.
if (hasConversionOrRestriction(ConversionRestrictionKind::DeepEquality))
return false;
auto *fix = ContextualMismatch::create(*this, lhs, rhs,
getConstraintLocator(locator));
conversionsOrFixes.push_back(fix);
}
// This could be: