-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Split subclasses out of ArchetypeType. #21244
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@swift-ci Please test |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't forget to update LLDB which annoyingly switches over TypeKind a lot
include/swift/AST/TypeNodes.def
Outdated
@@ -131,9 +131,13 @@ ABSTRACT_TYPE(AnyMetatype, Type) | |||
ALWAYS_CANONICAL_TYPE(Module, Type) | |||
TYPE(DynamicSelf, Type) | |||
ABSTRACT_TYPE(Substitutable, Type) | |||
ALWAYS_CANONICAL_TYPE(Archetype, SubstitutableType) | |||
ABSTRACT_TYPE(Archetype, SubstitutableType) | |||
ALWAYS_CANONICAL_TYPE(ContextArchetype, ArchetypeType) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I hate to make you rename everything but we've called these "primary archetypes" elsewhere
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No problem. I'll also rename ChildArchetype
to NestedArchetype
, which jives better with the terminology used elsewhere.
Build failed |
Build failed |
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.
f5e5982
to
f1648a1
Compare
Please test with following pull request: @swift-ci Please test |
@slavapestov How's this look now? |
Build failed |
Build failed |
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.