diff --git a/lib/Sema/TypeCheckProtocol.cpp b/lib/Sema/TypeCheckProtocol.cpp index 11ed775786a..fdb56890015 100644 --- a/lib/Sema/TypeCheckProtocol.cpp +++ b/lib/Sema/TypeCheckProtocol.cpp @@ -1701,7 +1701,7 @@ RequirementCheck WitnessChecker::checkWitness(ValueDecl *requirement, } if (auto adoptingNominal = DC->getSelfNominalTypeDecl()) { - if (adoptingNominal->getAttrs().isUnavailable(getASTContext())) + if (adoptingNominal->getSemanticUnavailableAttr()) return true; } diff --git a/test/ModuleInterface/actor_availability.swift b/test/ModuleInterface/actor_availability.swift index adff0a8c6c2..f73f7cf1e8d 100644 --- a/test/ModuleInterface/actor_availability.swift +++ b/test/ModuleInterface/actor_availability.swift @@ -7,9 +7,6 @@ // REQUIRES: VENDOR=apple -// FIXME: rdar://107052715 temporarily disabled the test; fails on ios simulator -// REQUIRES: rdar107052715 - // CHECK: #if compiler(>=5.3) && $Actors // CHECK-NEXT: public actor ActorWithImplicitAvailability { public actor ActorWithImplicitAvailability { diff --git a/test/decl/protocol/req/unavailable.swift b/test/decl/protocol/req/unavailable.swift index 9dfc401453e..1e51ef8c27a 100644 --- a/test/decl/protocol/req/unavailable.swift +++ b/test/decl/protocol/req/unavailable.swift @@ -64,6 +64,14 @@ extension ConformsToP5: P { func foo(bar: Foo) { } } +@available(*, unavailable) +enum UnavailableEnum { + struct ConformsToP6: P { + @available(*, unavailable) + func foo(bar: Foo) { } + } +} + // Include message string from @available attribute if provided protocol Unavail { associatedtype T