Define @_implicitly_synthesizes_nested_requirement

State the previously unstated nested type requirement that CodingKeys adds to the witness requirements of a given type. The goal is to make this member cheap to synthesize, and independent of the expensive protocol conformance checks required to append it to the member list.

Further, this makes a clean conceptual separation between what I'm calling "nested type requirements" and actual type and value requirements.

With luck, we'll never have to use this attribute anywhere else.
This commit is contained in:
Robert Widmann
2019-12-09 13:38:48 -08:00
parent 3ed0e19af5
commit 06d27f08fd
11 changed files with 91 additions and 2 deletions

View File

@@ -785,6 +785,7 @@ Optional<UIdent> SwiftLangSupport::getUIDForDeclAttribute(const swift::DeclAttri
}
// Ignore these.
case DAK_ImplicitlySynthesizesNestedRequirement:
case DAK_ShowInInterface:
case DAK_RawDocComment:
case DAK_HasInitialValue: