File tree Expand file tree Collapse file tree 2 files changed +9
-7
lines changed Expand file tree Collapse file tree 2 files changed +9
-7
lines changed Original file line number Diff line number Diff line change @@ -1300,6 +1300,15 @@ class ASTContext final {
1300
1300
// / Retrieve a generic signature with a single type parameter conforming
1301
1301
// / to the given protocol or composition type, like <T: type>.
1302
1302
CanGenericSignature getOpenedArchetypeSignature (Type type);
1303
+ // / to the given protocol or composition type, like <T: P>.
1304
+ // /
1305
+ // / The opened archetype may have a different set of conformances from the
1306
+ // / corresponding existential. The opened archetype conformances are dictated
1307
+ // / by the ABI for generic arguments, while the existential value conformances
1308
+ // / are dictated by their layout (see \c Type::getExistentialLayout()). In
1309
+ // / particular, the opened archetype signature does not have requirements for
1310
+ // / conformances inherited from superclass constraints while existential
1311
+ // / values do.
1303
1312
1304
1313
GenericSignature getOverrideGenericSignature (const ValueDecl *base,
1305
1314
const ValueDecl *derived);
Original file line number Diff line number Diff line change @@ -5166,13 +5166,6 @@ CanGenericSignature ASTContext::getSingleGenericParameterSignature() const {
5166
5166
return canonicalSig;
5167
5167
}
5168
5168
5169
- // Return the signature for an opened existential. The opened archetype may have
5170
- // a different set of conformances from the corresponding existential. The
5171
- // opened archetype conformances are dictated by the ABI for generic arguments,
5172
- // while the existential value conformances are dictated by their layout (see
5173
- // Type::getExistentialLayout()). In particular, the opened archetype signature
5174
- // does not have requirements for conformances inherited from superclass
5175
- // constraints while existential values do.
5176
5169
CanGenericSignature ASTContext::getOpenedArchetypeSignature (Type type) {
5177
5170
assert (type->isExistentialType ());
5178
5171
if (auto existential = type->getAs <ExistentialType>())
You can’t perform that action at this time.
0 commit comments