Introduce @specialized attribute

Implements SE-0460 -- the non-underscored version of @specialized.

It allows to specify "internal" (not abi affecting) specializations.

rdar://150033316
This commit is contained in:
Arnold Schwaighofer
2025-05-19 10:54:02 -07:00
parent 55b29fea4b
commit 13ff5abdb8
39 changed files with 644 additions and 189 deletions

View File

@@ -3109,7 +3109,7 @@ bool SourceFile::isImportedAsSPI(const ValueDecl *targetDecl) const {
return false;
}
bool ModuleDecl::isImportedAsSPI(const SpecializeAttr *attr,
bool ModuleDecl::isImportedAsSPI(const AbstractSpecializeAttr *attr,
const ValueDecl *targetDecl) const {
auto declSPIGroups = attr->getSPIGroups();
if (shouldImplicitImportAsSPI(declSPIGroups))