Skip to content

Commit e91ab9f

Browse files
committed
AST: Rip out some code from GenericSignatureBuilder's inheritance clause processing
I don't fully understand why, but this logic here is redundant because we end up adding layout constraints implied by types in the inheritance clause anyway.
1 parent 9354a93 commit e91ab9f

File tree

1 file changed

+2
-15
lines changed

1 file changed

+2
-15
lines changed

lib/AST/GenericSignatureBuilder.cpp

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2395,8 +2395,7 @@ void GenericSignatureBuilder::addGenericParameter(GenericTypeParamType *GenericP
23952395
/// types.
23962396
static ConstraintResult visitInherited(
23972397
ArrayRef<TypeLoc> inheritedTypes,
2398-
llvm::function_ref<ConstraintResult(Type, const TypeRepr *)> visitType,
2399-
llvm::function_ref<ConstraintResult(LayoutConstraint, const TypeRepr *)> visitLayout) {
2398+
llvm::function_ref<ConstraintResult(Type, const TypeRepr *)> visitType) {
24002399
// Local function that (recursively) adds inherited types.
24012400
ConstraintResult result = ConstraintResult::Resolved;
24022401
std::function<void(Type, const TypeRepr *)> visitInherited;
@@ -2414,11 +2413,6 @@ static ConstraintResult visitInherited(
24142413
index++;
24152414
}
24162415

2417-
auto layout = compositionType->getExistentialLayout()
2418-
.getLayoutConstraint();
2419-
if (layout)
2420-
visitLayout(layout, composition);
2421-
24222416
return;
24232417
}
24242418
}
@@ -3378,14 +3372,7 @@ ConstraintResult GenericSignatureBuilder::addInheritedRequirements(
33783372
UnresolvedHandlingKind::GenerateConstraints);
33793373
};
33803374

3381-
auto visitLayout = [&](LayoutConstraint layout, const TypeRepr *typeRepr) {
3382-
return addLayoutRequirement(type, layout,
3383-
getFloatingSource(typeRepr,
3384-
/*forInferred=*/false),
3385-
UnresolvedHandlingKind::GenerateConstraints);
3386-
};
3387-
3388-
return visitInherited(decl->getInherited(), visitType, visitLayout);
3375+
return visitInherited(decl->getInherited(), visitType);
33893376
}
33903377

33913378
ConstraintResult GenericSignatureBuilder::addRequirement(

0 commit comments

Comments
 (0)