Merge pull request #29389 from xedin/rdar-50666427

[Diagnostics] Unsatisfied requirement `in reference` diagnostics expe…
This commit is contained in:
Pavel Yaskevich
2020-01-24 09:30:12 -08:00
committed by GitHub
2 changed files with 18 additions and 2 deletions

View File

@@ -337,8 +337,9 @@ bool RequirementFailure::diagnoseAsError() {
return true;
}
if (genericCtx != reqDC && (genericCtx->isChildContextOf(reqDC) ||
isStaticOrInstanceMember(AffectedDecl))) {
if (reqDC->isTypeContext() && genericCtx != reqDC &&
(genericCtx->isChildContextOf(reqDC) ||
isStaticOrInstanceMember(AffectedDecl))) {
auto *NTD = reqDC->getSelfNominalTypeDecl();
emitDiagnostic(anchor->getLoc(), getDiagnosticInRereference(),
AffectedDecl->getDescriptiveKind(),