mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
[Constraint solver] Remove 'archetype' constraint kind. NFC
Archetype constraints haven't been needed since we implemented SE-0091.
This commit is contained in:
@@ -3216,20 +3216,6 @@ ConstraintSystem::simplifyMemberConstraint(const Constraint &constraint) {
|
||||
return SolutionKind::Error;
|
||||
}
|
||||
|
||||
ConstraintSystem::SolutionKind
|
||||
ConstraintSystem::simplifyArchetypeConstraint(const Constraint &constraint) {
|
||||
// Resolve the base type, if we can. If we can't resolve the base type,
|
||||
// then we can't solve this constraint.
|
||||
Type baseTy = getFixedTypeRecursive(constraint.getFirstType(), true);
|
||||
if (baseTy->isTypeVariableOrMember())
|
||||
return SolutionKind::Unsolved;
|
||||
|
||||
if (baseTy->is<ArchetypeType>())
|
||||
return SolutionKind::Solved;
|
||||
|
||||
return SolutionKind::Error;
|
||||
}
|
||||
|
||||
ConstraintSystem::SolutionKind
|
||||
ConstraintSystem::simplifyClassConstraint(const Constraint &constraint){
|
||||
auto baseTy = getFixedTypeRecursive(constraint.getFirstType(), true);
|
||||
@@ -3458,7 +3444,6 @@ static TypeMatchKind getTypeMatchKind(ConstraintKind kind) {
|
||||
case ConstraintKind::OptionalObject:
|
||||
llvm_unreachable("optional object constraints don't involve type matches");
|
||||
|
||||
case ConstraintKind::Archetype:
|
||||
case ConstraintKind::Class:
|
||||
case ConstraintKind::Defaultable:
|
||||
llvm_unreachable("Type properties don't involve type matches");
|
||||
@@ -4129,9 +4114,6 @@ ConstraintSystem::simplifyConstraint(const Constraint &constraint) {
|
||||
case ConstraintKind::TypeMember:
|
||||
return simplifyMemberConstraint(constraint);
|
||||
|
||||
case ConstraintKind::Archetype:
|
||||
return simplifyArchetypeConstraint(constraint);
|
||||
|
||||
case ConstraintKind::Class:
|
||||
return simplifyClassConstraint(constraint);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user