Skip to content

Commit f3f07ec

Browse files
authored
Merge pull request #18976 from DougGregor/no-revert-generic-requirements
2 parents 523a1c7 + b9c335e commit f3f07ec

File tree

2 files changed

+0
-47
lines changed

2 files changed

+0
-47
lines changed

lib/Sema/TypeCheckGeneric.cpp

Lines changed: 0 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -174,36 +174,6 @@ static void revertDependentTypeLoc(TypeLoc &tl) {
174174
tl.setType(Type());
175175
}
176176

177-
/// Revert the dependent types within the given generic parameter list.
178-
static void revertGenericParamList(TypeChecker &tc,
179-
GenericParamList *genericParams) {
180-
// Revert the requirements of the generic parameter list.
181-
tc.revertGenericRequirements(genericParams->getRequirements());
182-
}
183-
184-
void TypeChecker::revertGenericRequirements(
185-
MutableArrayRef<RequirementRepr> requirements) {
186-
for (auto &req : requirements) {
187-
if (req.isInvalid())
188-
continue;
189-
190-
switch (req.getKind()) {
191-
case RequirementReprKind::TypeConstraint:
192-
revertDependentTypeLoc(req.getConstraintLoc());
193-
LLVM_FALLTHROUGH;
194-
195-
case RequirementReprKind::LayoutConstraint:
196-
revertDependentTypeLoc(req.getSubjectLoc());
197-
break;
198-
199-
case RequirementReprKind::SameType:
200-
revertDependentTypeLoc(req.getFirstTypeLoc());
201-
revertDependentTypeLoc(req.getSecondTypeLoc());
202-
break;
203-
}
204-
}
205-
}
206-
207177
///
208178
/// Generic functions
209179
///
@@ -533,7 +503,6 @@ computeGenericFuncSignature(TypeChecker &tc, AbstractFunctionDecl *func) {
533503
// there might still be errors that have not yet been diagnosed. Revert the
534504
// generic function signature and type-check it again, completely.
535505
revertGenericFuncSignature(func);
536-
revertGenericParamList(tc, gp);
537506

538507
// Debugging of the generic signature.
539508
if (tc.Context.LangOpts.DebugGenericSignatures) {
@@ -652,7 +621,6 @@ TypeChecker::validateGenericSubscriptSignature(SubscriptDecl *subscript) {
652621
// there might still be errors that have not yet been diagnosed. Revert the
653622
// generic function signature and type-check it again, completely.
654623
revertGenericSubscriptSignature(subscript);
655-
revertGenericParamList(*this, gp);
656624

657625
// Debugging of generic signature generation.
658626
if (Context.LangOpts.DebugGenericSignatures) {
@@ -767,18 +735,6 @@ GenericEnvironment *TypeChecker::checkGenericEnvironment(
767735
genericParams->getSourceRange().Start,
768736
allowConcreteGenericParams);
769737

770-
// The generic signature builder now has all of the requirements, although
771-
// there might still be errors that have not yet been diagnosed. Revert the
772-
// signature and type-check it again, completely.
773-
if (recursivelyVisitGenericParams) {
774-
visitOuterToInner(genericParams,
775-
[&](GenericParamList *gpList) {
776-
revertGenericParamList(*this, gpList);
777-
});
778-
} else {
779-
revertGenericParamList(*this, genericParams);
780-
}
781-
782738
// Debugging of the generic signature builder and generic signature
783739
// generation.
784740
if (Context.LangOpts.DebugGenericSignatures) {

lib/Sema/TypeChecker.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1129,9 +1129,6 @@ class TypeChecker final : public LazyResolver {
11291129
void prepareGenericParamList(GenericParamList *genericParams,
11301130
DeclContext *dc);
11311131

1132-
/// Revert the dependent types within a set of requirements.
1133-
void revertGenericRequirements(MutableArrayRef<RequirementRepr> requirements);
1134-
11351132
/// Compute the generic signature, generic environment and interface type
11361133
/// of a generic function.
11371134
void validateGenericFuncSignature(AbstractFunctionDecl *func);

0 commit comments

Comments
 (0)