@@ -93,6 +93,16 @@ struct Pair<T, U> : P, Q {}
93
93
// GLOBAL-SAME: @"symbolic{{.*}}23associated_type_witness4PairV{{.*}}"
94
94
// GLOBAL-SAME: ]
95
95
96
+ // Protocol conformance descriptor for Computed : Assocked.
97
+ // GLOBAL-LABEL: @"$s23associated_type_witness8ComputedVyxq_GAA8AssockedAAMc" = hidden constant
98
+ // GLOBAL-SAME: i16 4,
99
+ // GLOBAL-SAME: i16 1,
100
+
101
+ // No instantiator function
102
+ // GLOBAL-SAME: i32 0,
103
+ // GLOBAL-SAME: i32 trunc (i64 sub (i64 ptrtoint ([16 x i8*]* [[PRIVATE:@.*]] to i64), i64 ptrtoint
104
+ // GLOBAL-SAME: }
105
+
96
106
struct Computed < T, U> : Assocked {
97
107
typealias Assoc = Pair < T , U >
98
108
}
@@ -117,6 +127,14 @@ protocol DerivedFromSimpleAssoc : HasSimpleAssoc {}
117
127
// GLOBAL-SAME: @"$s23associated_type_witness15GenericComputedVyxGAA22DerivedFromSimpleAssocAAMc"
118
128
// GLOBAL-SAME: i8* null
119
129
130
+ // Protocol conformance descriptor for GenericComputed : DerivedFromSimpleAssoc.
131
+ // GLOBAL-LABEL: @"$s23associated_type_witness15GenericComputedVyxGAA22DerivedFromSimpleAssocAAMc" = hidden constant
132
+ // GLOBAL-SAME: i16 2,
133
+ // GLOBAL-SAME: i16 1,
134
+
135
+ // Relative reference to instantiator function
136
+ // GLOBAL-SAME: i32 trunc (i64 sub (i64 ptrtoint (void (i8**, %swift.type*, i8**)* @"$s23associated_type_witness15GenericComputedVyxGAA22DerivedFromSimpleAssocAAWI" to i64),
137
+
120
138
// Relative reference to private data
121
139
struct GenericComputed < T: P > : DerivedFromSimpleAssoc {
122
140
typealias Assoc = PBox < T >
@@ -155,29 +173,13 @@ extension ValidatorType {
155
173
156
174
// MARK: Failing example
157
175
extension Validator where T == String {
158
- // GLOBAL: @"symbolic _____ySS__G 23associated_type_witness9ValidatorVAASSRszlE1VV7FailureV"
159
176
struct V : ValidatorType {
160
177
typealias Data = T // or String
161
178
162
179
struct Failure { }
163
180
}
164
181
}
165
182
183
+ // GLOBAL-LABEL: @"symbolic _____ySS__G 23associated_type_witness9ValidatorVAASSRszlE1VV7FailureV"
166
184
167
- // Protocol conformance descriptor for Computed : Assocked.
168
- // GLOBAL-LABEL: @"$s23associated_type_witness8ComputedVyxq_GAA8AssockedAAMc" = hidden constant
169
- // GLOBAL-SAME: i16 4,
170
- // GLOBAL-SAME: i16 1,
171
185
172
- // No instantiator function
173
- // GLOBAL-SAME: i32 0,
174
- // GLOBAL-SAME: i32 trunc (i64 sub (i64 ptrtoint ([16 x i8*]* [[PRIVATE:@.*]] to i64), i64 ptrtoint
175
- // GLOBAL-SAME: }
176
-
177
- // Protocol conformance descriptor for GenericComputed : DerivedFromSimpleAssoc.
178
- // GLOBAL-LABEL: @"$s23associated_type_witness15GenericComputedVyxGAA22DerivedFromSimpleAssocAAMc" = hidden constant
179
- // GLOBAL-SAME: i16 2,
180
- // GLOBAL-SAME: i16 1,
181
-
182
- // Relative reference to instantiator function
183
- // GLOBAL-SAME: i32 trunc (i64 sub (i64 ptrtoint (void (i8**, %swift.type*, i8**)* @"$s23associated_type_witness15GenericComputedVyxGAA22DerivedFromSimpleAssocAAWI" to i64),
0 commit comments