AST: Promote AssociatedTypeAvailability feature to the baseline.

This commit is contained in:
Allan Shortlidge
2024-07-08 21:12:58 -07:00
parent 588a7db17c
commit 6f972fc275
4 changed files with 2 additions and 20 deletions

View File

@@ -169,7 +169,7 @@ BASELINE_LANGUAGE_FEATURE(UnsafeInheritExecutor, 0, "@_unsafeInheritExecutor")
SUPPRESSIBLE_LANGUAGE_FEATURE(PrimaryAssociatedTypes2, 346, "Primary associated types")
BASELINE_LANGUAGE_FEATURE(UnavailableFromAsync, 0, "@_unavailableFromAsync")
BASELINE_LANGUAGE_FEATURE(NoAsyncAvailability, 340, "@available(*, noasync)")
SUPPRESSIBLE_LANGUAGE_FEATURE(AssociatedTypeAvailability, 0, "Availability on associated types")
BASELINE_LANGUAGE_FEATURE(AssociatedTypeAvailability, 0, "Availability on associated types")
SUPPRESSIBLE_LANGUAGE_FEATURE(AsyncSequenceFailure, 0, "Failure associated type on AsyncSequence and AsyncIteratorProtocol")
BASELINE_LANGUAGE_FEATURE(BuiltinIntLiteralAccessors, 368, "Builtin.IntLiteral accessors")
LANGUAGE_FEATURE(Macros, 0, "Macros")

View File

@@ -3067,15 +3067,6 @@ static void suppressingFeaturePrimaryAssociatedTypes2(PrintOptions &options,
options.PrintPrimaryAssociatedTypes = originalPrintPrimaryAssociatedTypes;
}
static void
suppressingFeatureAssociatedTypeAvailability(
PrintOptions &options, llvm::function_ref<void()> action) {
unsigned originalExcludeAttrCount = options.ExcludeAttrList.size();
options.ExcludeAttrList.push_back(DeclAttrKind::Available);
action();
options.ExcludeAttrList.resize(originalExcludeAttrCount);
}
static void
suppressingFeatureAsyncSequenceFailure(
PrintOptions &options, llvm::function_ref<void()> action) {

View File

@@ -150,11 +150,6 @@ static bool usesFeaturePrimaryAssociatedTypes2(Decl *decl) {
return false;
}
static bool usesFeatureAssociatedTypeAvailability(Decl *decl) {
return isa<AssociatedTypeDecl>(decl) &&
decl->getAttrs().hasAttribute<AvailableAttr>();
}
static bool isImplicitRethrowsProtocol(const ProtocolDecl *proto) {
return proto->isSpecificProtocol(KnownProtocolKind::AsyncSequence) ||
proto->isSpecificProtocol(KnownProtocolKind::AsyncIteratorProtocol);

View File

@@ -6,12 +6,8 @@
// CHECK: public protocol P
public protocol P {
// CHECK: #if compiler(>=5.3) && $AssociatedTypeAvailability
// CHECK-NEXT: @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *)
// CHECK: @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *)
// CHECK-NEXT: associatedtype AT = Self
// CHECK-NEXT: #else
// CHECK-NEXT: associatedtype AT = Self
// CHECK-NEXT: #endif
@available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *)
associatedtype AT = Self
}