@@ -34,19 +34,19 @@ struct Basic: P1 {
34
34
// Recursive conformances should have finite output.
35
35
36
36
// CHECK-LABEL: StructDecl name=Recur
37
- // CHECK-NEXT: (builtin_conformance type="Recur" protocol="Copyable")
38
- // CHECK-NEXT: (builtin_conformance type="Recur" protocol="Escapable")
37
+ // CHECK-NEXT: (builtin_conformance type="Recur" protocol="Copyable"{{.*}} )
38
+ // CHECK-NEXT: (builtin_conformance type="Recur" protocol="Escapable"{{.*}} )
39
39
// CHECK-NEXT: (normal_conformance type="Recur" protocol="P2"
40
40
// CHECK-NEXT: (assoc_type req="A" type="Recur")
41
41
// CHECK-NEXT: (assoc_type req="B" type="Recur")
42
42
// CHECK-NEXT: (assoc_conformance type="Self" proto="Copyable"
43
- // CHECK-NEXT: (builtin_conformance type="Recur" protocol="Copyable"))
43
+ // CHECK-NEXT: (builtin_conformance type="Recur" protocol="Copyable"{{.*}} ))
44
44
// CHECK-NEXT: (assoc_conformance type="Self" proto="Escapable"
45
- // CHECK-NEXT: (builtin_conformance type="Recur" protocol="Escapable"))
45
+ // CHECK-NEXT: (builtin_conformance type="Recur" protocol="Escapable"{{.*}} ))
46
46
// CHECK-NEXT: (assoc_conformance type="Self.A" proto="P2"
47
- // CHECK-NEXT: (normal_conformance type="Recur" protocol="P2" <details printed above>))
47
+ // CHECK-NEXT: (normal_conformance type="Recur" protocol="P2"{{.*}} <details printed above>))
48
48
// CHECK-NEXT: (assoc_conformance type="Self.B" proto="P2"
49
- // CHECK-NEXT: (normal_conformance type="Recur" protocol="P2" <details printed above>)))
49
+ // CHECK-NEXT: (normal_conformance type="Recur" protocol="P2"{{.*}} <details printed above>)))
50
50
struct Recur : P2 {
51
51
typealias A = Recur
52
52
typealias B = Recur
@@ -55,29 +55,29 @@ struct Recur: P2 {
55
55
// The full information about a conformance doesn't need to be printed twice.
56
56
57
57
// CHECK-LABEL: StructDecl name=NonRecur
58
- // CHECK-NEXT: (builtin_conformance type="NonRecur" protocol="Copyable")
59
- // CHECK-NEXT: (builtin_conformance type="NonRecur" protocol="Escapable")
58
+ // CHECK-NEXT: (builtin_conformance type="NonRecur" protocol="Copyable"{{.*}} )
59
+ // CHECK-NEXT: (builtin_conformance type="NonRecur" protocol="Escapable"{{.*}} )
60
60
// CHECK-NEXT: (normal_conformance type="NonRecur" protocol="P2"
61
61
// CHECK-NEXT: (assoc_type req="A" type="Recur")
62
62
// CHECK-NEXT: (assoc_type req="B" type="Recur")
63
63
// CHECK-NEXT: (assoc_conformance type="Self" proto="Copyable"
64
- // CHECK-NEXT: (builtin_conformance type="NonRecur" protocol="Copyable"))
64
+ // CHECK-NEXT: (builtin_conformance type="NonRecur" protocol="Copyable"{{.*}} ))
65
65
// CHECK-NEXT: (assoc_conformance type="Self" proto="Escapable"
66
- // CHECK-NEXT: (builtin_conformance type="NonRecur" protocol="Escapable"))
66
+ // CHECK-NEXT: (builtin_conformance type="NonRecur" protocol="Escapable"{{.*}} ))
67
67
// CHECK-NEXT: (assoc_conformance type="Self.A" proto="P2"
68
68
// CHECK-NEXT: (normal_conformance type="Recur" protocol="P2"
69
69
// CHECK-NEXT: (assoc_type req="A" type="Recur")
70
70
// CHECK-NEXT: (assoc_type req="B" type="Recur")
71
71
// CHECK-NEXT: (assoc_conformance type="Self" proto="Copyable"
72
- // CHECK-NEXT: (builtin_conformance type="Recur" protocol="Copyable"))
72
+ // CHECK-NEXT: (builtin_conformance type="Recur" protocol="Copyable"{{.*}} ))
73
73
// CHECK-NEXT: (assoc_conformance type="Self" proto="Escapable"
74
- // CHECK-NEXT: (builtin_conformance type="Recur" protocol="Escapable"))
74
+ // CHECK-NEXT: (builtin_conformance type="Recur" protocol="Escapable"{{.*}} ))
75
75
// CHECK-NEXT: (assoc_conformance type="Self.A" proto="P2"
76
- // CHECK-NEXT: (normal_conformance type="Recur" protocol="P2" <details printed above>))
76
+ // CHECK-NEXT: (normal_conformance type="Recur" protocol="P2"{{.*}} <details printed above>))
77
77
// CHECK-NEXT: (assoc_conformance type="Self.B" proto="P2"
78
- // CHECK-NEXT: (normal_conformance type="Recur" protocol="P2" <details printed above>))))
78
+ // CHECK-NEXT: (normal_conformance type="Recur" protocol="P2"{{.*}} <details printed above>))))
79
79
// CHECK-NEXT: (assoc_conformance type="Self.B" proto="P2"
80
- // CHECK-NEXT: (normal_conformance type="Recur" protocol="P2" <details printed above>)))
80
+ // CHECK-NEXT: (normal_conformance type="Recur" protocol="P2"{{.*}} <details printed above>)))
81
81
struct NonRecur : P2 {
82
82
typealias A = Recur
83
83
typealias B = Recur
@@ -94,9 +94,9 @@ struct Generic<T> {}
94
94
// CHECK-NEXT: (assoc_type req="A" type="T")
95
95
// CHECK-NEXT: (value req="f()" witness="main.(file).Generic extension.f()@{{.*}}")
96
96
// CHECK-NEXT: (assoc_conformance type="Self" proto="Copyable"
97
- // CHECK-NEXT: (builtin_conformance type="Generic<T>" protocol="Copyable"))
97
+ // CHECK-NEXT: (builtin_conformance type="Generic<T>" protocol="Copyable"{{.*}} ))
98
98
// CHECK-NEXT: (assoc_conformance type="Self" proto="Escapable"
99
- // CHECK-NEXT: (builtin_conformance type="Generic<T>" protocol="Escapable"))
99
+ // CHECK-NEXT: (builtin_conformance type="Generic<T>" protocol="Escapable"{{.*}} ))
100
100
// CHECK-NEXT: (assoc_conformance type="Self.A" proto="Copyable"
101
101
// CHECK-NEXT: (abstract_conformance protocol="Copyable"))
102
102
// CHECK-NEXT: (assoc_conformance type="Self.A" proto="Escapable"
@@ -119,9 +119,9 @@ class Super<T, U> {}
119
119
// CHECK-NEXT: (assoc_type req="A" type="T")
120
120
// CHECK-NEXT: (assoc_type req="B" type="T")
121
121
// CHECK-NEXT: (assoc_conformance type="Self" proto="Copyable"
122
- // CHECK-NEXT: (builtin_conformance type="Super<T, U>" protocol="Copyable"))
122
+ // CHECK-NEXT: (builtin_conformance type="Super<T, U>" protocol="Copyable"{{.*}} ))
123
123
// CHECK-NEXT: (assoc_conformance type="Self" proto="Escapable"
124
- // CHECK-NEXT: (builtin_conformance type="Super<T, U>" protocol="Escapable"))
124
+ // CHECK-NEXT: (builtin_conformance type="Super<T, U>" protocol="Escapable"{{.*}} ))
125
125
// CHECK-NEXT: (assoc_conformance type="Self.A" proto="P2"
126
126
// CHECK-NEXT: (abstract_conformance protocol="P2"))
127
127
// CHECK-NEXT: (assoc_conformance type="Self.B" proto="P2"
@@ -135,8 +135,8 @@ extension Super: P2 where T: P2, U: P2 {
135
135
136
136
// Inherited/specialized conformances.
137
137
// CHECK-LABEL: ClassDecl name=Sub
138
- // CHECK-NEXT: (builtin_conformance type="Sub" protocol="Copyable")
139
- // CHECK-NEXT: (builtin_conformance type="Sub" protocol="Escapable")
138
+ // CHECK-NEXT: (builtin_conformance type="Sub" protocol="Copyable"{{.*}} )
139
+ // CHECK-NEXT: (builtin_conformance type="Sub" protocol="Escapable"{{.*}} )
140
140
// CHECK-NEXT: (inherited_conformance type="Sub" protocol="P2"
141
141
// CHECK-NEXT: (specialized_conformance type="Super<NonRecur, Recur>" protocol="P2"
142
142
// CHECK-NEXT: (substitution_map generic_signature=<T, U where T : P2, U : P2>
@@ -149,33 +149,33 @@ extension Super: P2 where T: P2, U: P2 {
149
149
// CHECK-NEXT: (assoc_type req="A" type="Recur")
150
150
// CHECK-NEXT: (assoc_type req="B" type="Recur")
151
151
// CHECK-NEXT: (assoc_conformance type="Self" proto="Copyable"
152
- // CHECK-NEXT: (builtin_conformance type="NonRecur" protocol="Copyable"))
152
+ // CHECK-NEXT: (builtin_conformance type="NonRecur" protocol="Copyable"{{.*}} ))
153
153
// CHECK-NEXT: (assoc_conformance type="Self" proto="Escapable"
154
- // CHECK-NEXT: (builtin_conformance type="NonRecur" protocol="Escapable"))
154
+ // CHECK-NEXT: (builtin_conformance type="NonRecur" protocol="Escapable"{{.*}} ))
155
155
// CHECK-NEXT: (assoc_conformance type="Self.A" proto="P2"
156
156
// CHECK-NEXT: (normal_conformance type="Recur" protocol="P2"
157
157
// CHECK-NEXT: (assoc_type req="A" type="Recur")
158
158
// CHECK-NEXT: (assoc_type req="B" type="Recur")
159
159
// CHECK-NEXT: (assoc_conformance type="Self" proto="Copyable"
160
- // CHECK-NEXT: (builtin_conformance type="Recur" protocol="Copyable"))
160
+ // CHECK-NEXT: (builtin_conformance type="Recur" protocol="Copyable"{{.*}} ))
161
161
// CHECK-NEXT: (assoc_conformance type="Self" proto="Escapable"
162
- // CHECK-NEXT: (builtin_conformance type="Recur" protocol="Escapable"))
162
+ // CHECK-NEXT: (builtin_conformance type="Recur" protocol="Escapable"{{.*}} ))
163
163
// CHECK-NEXT: (assoc_conformance type="Self.A" proto="P2"
164
- // CHECK-NEXT: (normal_conformance type="Recur" protocol="P2" <details printed above>))
164
+ // CHECK-NEXT: (normal_conformance type="Recur" protocol="P2"{{.*}} <details printed above>))
165
165
// CHECK-NEXT: (assoc_conformance type="Self.B" proto="P2"
166
- // CHECK-NEXT: (normal_conformance type="Recur" protocol="P2" <details printed above>))))
166
+ // CHECK-NEXT: (normal_conformance type="Recur" protocol="P2"{{.*}} <details printed above>))))
167
167
// CHECK-NEXT: (assoc_conformance type="Self.B" proto="P2"
168
- // CHECK-NEXT: (normal_conformance type="Recur" protocol="P2" <details printed above>))))
168
+ // CHECK-NEXT: (normal_conformance type="Recur" protocol="P2"{{.*}} <details printed above>))))
169
169
// CHECK-NEXT: (conformance type="U"
170
- // CHECK-NEXT: (normal_conformance type="Recur" protocol="P2" <details printed above>)))
170
+ // CHECK-NEXT: (normal_conformance type="Recur" protocol="P2"{{.*}} <details printed above>)))
171
171
// CHECK-NEXT: (<conditional requirements unable to be computed>)
172
172
// CHECK-NEXT: (normal_conformance type="Super<T, U>" protocol="P2"
173
173
// CHECK-NEXT: (assoc_type req="A" type="T")
174
174
// CHECK-NEXT: (assoc_type req="B" type="T")
175
175
// CHECK-NEXT: (assoc_conformance type="Self" proto="Copyable"
176
- // CHECK-NEXT: (builtin_conformance type="Super<T, U>" protocol="Copyable"))
176
+ // CHECK-NEXT: (builtin_conformance type="Super<T, U>" protocol="Copyable"{{.*}} ))
177
177
// CHECK-NEXT: (assoc_conformance type="Self" proto="Escapable"
178
- // CHECK-NEXT: (builtin_conformance type="Super<T, U>" protocol="Escapable"))
178
+ // CHECK-NEXT: (builtin_conformance type="Super<T, U>" protocol="Escapable"{{.*}} ))
179
179
// CHECK-NEXT: (assoc_conformance type="Self.A" proto="P2"
180
180
// CHECK-NEXT: (abstract_conformance protocol="P2"))
181
181
// CHECK-NEXT: (assoc_conformance type="Self.B" proto="P2"
@@ -188,44 +188,44 @@ class Sub: Super<NonRecur, Recur> {}
188
188
// should work through SubstitutionMaps.
189
189
190
190
// CHECK-LABEL: StructDecl name=RecurGeneric
191
- // CHECK-NEXT: (builtin_conformance type="RecurGeneric<T>" protocol="Copyable")
192
- // CHECK-NEXT: (builtin_conformance type="RecurGeneric<T>" protocol="Escapable")
191
+ // CHECK-NEXT: (builtin_conformance type="RecurGeneric<T>" protocol="Copyable"{{.*}} )
192
+ // CHECK-NEXT: (builtin_conformance type="RecurGeneric<T>" protocol="Escapable"{{.*}} )
193
193
// CHECK-NEXT: (normal_conformance type="RecurGeneric<T>" protocol="P3"
194
194
// CHECK-NEXT: (assoc_type req="A" type="RecurGeneric<T>")
195
195
// CHECK-NEXT: (assoc_conformance type="Self" proto="Copyable"
196
- // CHECK-NEXT: (builtin_conformance type="RecurGeneric<T>" protocol="Copyable"))
196
+ // CHECK-NEXT: (builtin_conformance type="RecurGeneric<T>" protocol="Copyable"{{.*}} ))
197
197
// CHECK-NEXT: (assoc_conformance type="Self" proto="Escapable"
198
- // CHECK-NEXT: (builtin_conformance type="RecurGeneric<T>" protocol="Escapable"))
198
+ // CHECK-NEXT: (builtin_conformance type="RecurGeneric<T>" protocol="Escapable"{{.*}} ))
199
199
// CHECK-NEXT: (assoc_conformance type="Self.A" proto="P3"
200
- // CHECK-NEXT: (normal_conformance type="RecurGeneric<T>" protocol="P3" <details printed above>)))
200
+ // CHECK-NEXT: (normal_conformance type="RecurGeneric<T>" protocol="P3"{{.*}} <details printed above>)))
201
201
struct RecurGeneric < T: P3 > : P3 {
202
202
typealias A = RecurGeneric < T >
203
203
}
204
204
205
205
// CHECK-LABEL: StructDecl name=Specialize
206
- // CHECK-NEXT: (builtin_conformance type="Specialize" protocol="Copyable")
207
- // CHECK-NEXT: (builtin_conformance type="Specialize" protocol="Escapable")
206
+ // CHECK-NEXT: (builtin_conformance type="Specialize" protocol="Copyable"{{.*}} )
207
+ // CHECK-NEXT: (builtin_conformance type="Specialize" protocol="Escapable"{{.*}} )
208
208
// CHECK-NEXT: (normal_conformance type="Specialize" protocol="P3"
209
209
// CHECK-NEXT: (assoc_type req="A" type="RecurGeneric<Specialize>")
210
210
// CHECK-NEXT: (assoc_conformance type="Self" proto="Copyable"
211
- // CHECK-NEXT: (builtin_conformance type="Specialize" protocol="Copyable"))
211
+ // CHECK-NEXT: (builtin_conformance type="Specialize" protocol="Copyable"{{.*}} ))
212
212
// CHECK-NEXT: (assoc_conformance type="Self" proto="Escapable"
213
- // CHECK-NEXT: (builtin_conformance type="Specialize" protocol="Escapable"))
213
+ // CHECK-NEXT: (builtin_conformance type="Specialize" protocol="Escapable"{{.*}} ))
214
214
// CHECK-NEXT: (assoc_conformance type="Self.A" proto="P3"
215
215
// CHECK-NEXT: (specialized_conformance type="Specialize.A" protocol="P3"
216
216
// CHECK-NEXT: (substitution_map generic_signature=<T where T : P3>
217
217
// CHECK-NEXT: (substitution T ->
218
218
// CHECK-NEXT: (struct_type decl="main.(file).Specialize@{{.*}}"))
219
219
// CHECK-NEXT: (conformance type="T"
220
- // CHECK-NEXT: (normal_conformance type="Specialize" protocol="P3" <details printed above>)))
220
+ // CHECK-NEXT: (normal_conformance type="Specialize" protocol="P3"{{.*}} <details printed above>)))
221
221
// CHECK-NEXT: (normal_conformance type="RecurGeneric<T>" protocol="P3"
222
222
// CHECK-NEXT: (assoc_type req="A" type="RecurGeneric<T>")
223
223
// CHECK-NEXT: (assoc_conformance type="Self" proto="Copyable"
224
- // CHECK-NEXT: (builtin_conformance type="RecurGeneric<T>" protocol="Copyable"))
224
+ // CHECK-NEXT: (builtin_conformance type="RecurGeneric<T>" protocol="Copyable"{{.*}} ))
225
225
// CHECK-NEXT: (assoc_conformance type="Self" proto="Escapable"
226
- // CHECK-NEXT: (builtin_conformance type="RecurGeneric<T>" protocol="Escapable"))
226
+ // CHECK-NEXT: (builtin_conformance type="RecurGeneric<T>" protocol="Escapable"{{.*}} ))
227
227
// CHECK-NEXT: (assoc_conformance type="Self.A" proto="P3"
228
- // CHECK-NEXT: (normal_conformance type="RecurGeneric<T>" protocol="P3" <details printed above>))))))
228
+ // CHECK-NEXT: (normal_conformance type="RecurGeneric<T>" protocol="P3"{{.*}} <details printed above>))))))
229
229
struct Specialize : P3 {
230
230
typealias A = RecurGeneric < Specialize >
231
231
}
0 commit comments