Infer ConcurrentValue conformances for structs and enums.

When a struct or enum has only ConcurrentValue-conforming instance
data, infer conformance to ConcurrentValue.
This commit is contained in:
Doug Gregor
2021-03-02 00:23:33 -08:00
parent 9962e860f1
commit b5e4b085aa
23 changed files with 336 additions and 52 deletions

View File

@@ -590,7 +590,10 @@ public:
DeclAttributes::print(printer, printOptions, attrs);
printer << "extension ";
nominal->getDeclaredType().print(printer, printOptions);
PrintOptions typePrintOptions = printOptions;
typePrintOptions.FullyQualifiedTypes = false;
typePrintOptions.FullyQualifiedTypesIfAmbiguous = false;
nominal->getDeclaredType().print(printer, typePrintOptions);
printer << " : ";
proto->getDeclaredInterfaceType()->print(printer, printOptions);