mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Split subclasses out of ArchetypeType.
Context archetypes and opened existential archetypes differ in a number of details, and this simplifies the overlapping storage of the kind-specific fields. This should be NFC; for now, this doesn't change the interface of ArchetypeType, but should allow some refinements of how the special handling of certain archetypes are handled.
This commit is contained in:
@@ -1896,7 +1896,9 @@ ConstraintSystem::matchTypes(Type type1, Type type2, ConstraintKind kind,
|
||||
return formUnsolvedResult();
|
||||
|
||||
case TypeKind::TypeVariable:
|
||||
case TypeKind::Archetype:
|
||||
case TypeKind::PrimaryArchetype:
|
||||
case TypeKind::OpenedArchetype:
|
||||
case TypeKind::NestedArchetype:
|
||||
// Nothing to do here; handle type variables and archetypes below.
|
||||
break;
|
||||
|
||||
@@ -2608,7 +2610,9 @@ ConstraintSystem::simplifyConstructionConstraint(
|
||||
case TypeKind::BoundGenericClass:
|
||||
case TypeKind::BoundGenericEnum:
|
||||
case TypeKind::BoundGenericStruct:
|
||||
case TypeKind::Archetype:
|
||||
case TypeKind::PrimaryArchetype:
|
||||
case TypeKind::OpenedArchetype:
|
||||
case TypeKind::NestedArchetype:
|
||||
case TypeKind::DynamicSelf:
|
||||
case TypeKind::ProtocolComposition:
|
||||
case TypeKind::Protocol:
|
||||
|
||||
Reference in New Issue
Block a user