Skip to content

Commit fc7b3c9

Browse files
committed
[Type checker] Force us to realize conformances for fully-validated decls.
Addresses a regression introduced by the request-evaluator in multi-file projects, where some extensions wouldn't get realized until they are needed in IR generation.
1 parent ebd774b commit fc7b3c9

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

lib/Sema/TypeCheckDecl.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4493,7 +4493,6 @@ class DeclChecker : public DeclVisitor<DeclChecker> {
44934493
TC.computeAccessLevel(ED);
44944494

44954495
checkUnsupportedNestedType(ED);
4496-
44974496
TC.validateDecl(ED);
44984497
TC.DeclsToFinalize.remove(ED);
44994498
ED->setHasValidatedLayout();
@@ -4518,6 +4517,8 @@ class DeclChecker : public DeclVisitor<DeclChecker> {
45184517
checkEnumRawValues(TC, ED);
45194518
}
45204519

4520+
ED->getAllConformances();
4521+
45214522
TC.checkDeclCircularity(ED);
45224523
TC.ConformanceContexts.push_back(ED);
45234524
}
@@ -4540,6 +4541,8 @@ class DeclChecker : public DeclVisitor<DeclChecker> {
45404541
TC.checkDeclAttributes(SD);
45414542
checkAccessControl(TC, SD);
45424543

4544+
SD->getAllConformances();
4545+
45434546
TC.checkDeclCircularity(SD);
45444547
TC.ConformanceContexts.push_back(SD);
45454548
}
@@ -4765,6 +4768,8 @@ class DeclChecker : public DeclVisitor<DeclChecker> {
47654768

47664769
}
47674770

4771+
CD->getAllConformances();
4772+
47684773
TC.checkDeclAttributes(CD);
47694774
checkAccessControl(TC, CD);
47704775

0 commit comments

Comments
 (0)