File tree Expand file tree Collapse file tree 3 files changed +9
-7
lines changed Expand file tree Collapse file tree 3 files changed +9
-7
lines changed Original file line number Diff line number Diff line change @@ -2578,7 +2578,7 @@ class DeclChecker : public DeclVisitor<DeclChecker> {
2578
2578
(void ) SD->getGenericSignature ();
2579
2579
2580
2580
if (!SD->isInvalid ()) {
2581
- TC. checkReferencedGenericParams (SD);
2581
+ TypeChecker:: checkReferencedGenericParams (SD);
2582
2582
checkGenericParams (SD->getGenericParams (), SD);
2583
2583
TypeChecker::checkProtocolSelfRequirements (SD);
2584
2584
}
@@ -3187,7 +3187,7 @@ class DeclChecker : public DeclVisitor<DeclChecker> {
3187
3187
3188
3188
if (!FD->isInvalid ()) {
3189
3189
checkGenericParams (FD->getGenericParams (), FD);
3190
- TC. checkReferencedGenericParams (FD);
3190
+ TypeChecker:: checkReferencedGenericParams (FD);
3191
3191
TypeChecker::checkProtocolSelfRequirements (FD);
3192
3192
}
3193
3193
@@ -3428,7 +3428,7 @@ class DeclChecker : public DeclVisitor<DeclChecker> {
3428
3428
3429
3429
if (!CD->isInvalid ()) {
3430
3430
checkGenericParams (CD->getGenericParams (), CD);
3431
- TC. checkReferencedGenericParams (CD);
3431
+ TypeChecker:: checkReferencedGenericParams (CD);
3432
3432
TypeChecker::checkProtocolSelfRequirements (CD);
3433
3433
}
3434
3434
Original file line number Diff line number Diff line change @@ -421,6 +421,7 @@ void TypeChecker::checkReferencedGenericParams(GenericContext *dc) {
421
421
422
422
// Check that every generic parameter type from the signature is
423
423
// among referencedGenericParams.
424
+ auto &ctx = decl->getASTContext ();
424
425
for (auto *genParam : genericSig->getGenericParams ()) {
425
426
auto *paramDecl = genParam->getDecl ();
426
427
if (paramDecl->getDepth () != fnGenericParamsDepth)
@@ -438,9 +439,10 @@ void TypeChecker::checkReferencedGenericParams(GenericContext *dc) {
438
439
continue ;
439
440
}
440
441
// Produce an error that this generic parameter cannot be bound.
441
- diagnose (paramDecl->getLoc (), diag::unreferenced_generic_parameter,
442
- paramDecl->getNameStr ());
443
- decl->setInterfaceType (ErrorType::get (Context));
442
+ ctx.Diags .diagnose (paramDecl->getLoc (),
443
+ diag::unreferenced_generic_parameter,
444
+ paramDecl->getNameStr ());
445
+ decl->setInterfaceType (ErrorType::get (ctx));
444
446
decl->setInvalid ();
445
447
}
446
448
}
Original file line number Diff line number Diff line change @@ -1038,7 +1038,7 @@ class TypeChecker final : public LazyResolver {
1038
1038
1039
1039
// / All generic parameters of a generic function must be referenced in the
1040
1040
// / declaration's type, otherwise we have no way to infer them.
1041
- void checkReferencedGenericParams (GenericContext *dc);
1041
+ static void checkReferencedGenericParams (GenericContext *dc);
1042
1042
1043
1043
// / Construct a new generic environment for the given declaration context.
1044
1044
// /
You can’t perform that action at this time.
0 commit comments