@@ -637,7 +637,6 @@ Types
637637 METATYPE-REPR ::= 'T' // Thick metatype representation
638638 METATYPE-REPR ::= 'o' // ObjC metatype representation
639639
640- type ::= archetype
641640 type ::= associated-type
642641 type ::= any-generic-type
643642 type ::= protocol-list 'p' // existential type
@@ -654,6 +653,12 @@ Types
654653 type ::= assoc-type-list 'QY' GENERIC-PARAM-INDEX // associated type at depth
655654 type ::= assoc-type-list 'QZ' // shortcut for 'QYz'
656655
656+ type ::= pattern-type count-type 'Qp' // pack expansion type
657+ type ::= pack-element-list 'QP' // pack type
658+
659+ pack-element-list ::= type '_' type*
660+ pack-element-list ::= empty-list
661+
657662 #if SWIFT_RUNTIME_VERSION >= 5.2
658663 type ::= type assoc-type-name 'Qx' // associated type relative to base `type`
659664 type ::= type assoc-type-list 'QX' // associated type relative to base `type`
@@ -668,11 +673,8 @@ Types
668673
669674 assoc-type-list ::= assoc-type-name '_' assoc-type-name*
670675
671- archetype ::= associated-type
672-
673676 associated-type ::= substitution
674- associated-type ::= protocol 'QP' // self type of protocol
675- associated-type ::= archetype identifier 'Qa' // associated type
677+ associated-type ::= type identifier 'Qa' // associated type
676678
677679 assoc-type-name ::= identifier // associated type name without protocol
678680 assoc-type-name ::= identifier protocol 'P' //
0 commit comments