Skip to content

[Concurrency] Use an availability macro instead of OS versions 9999 #37244

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
May 5, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions stdlib/public/Concurrency/Actor.swift
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import Swift
///
/// The \c Actor protocol generalizes over all actor types. Actor types
/// implicitly conform to this protocol.
@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
public protocol Actor: AnyObject, Sendable {

/// Retrieve the executor for this actor as an optimized, unowned
Expand All @@ -37,24 +37,24 @@ public protocol Actor: AnyObject, Sendable {

/// Called to initialize the default actor instance in an actor.
/// The implementation will call this within the actor's initializer.
@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
@_silgen_name("swift_defaultActor_initialize")
public func _defaultActorInitialize(_ actor: AnyObject)

/// Called to destroy the default actor instance in an actor.
/// The implementation will call this within the actor's deinit.
@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
@_silgen_name("swift_defaultActor_destroy")
public func _defaultActorDestroy(_ actor: AnyObject)

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
@_silgen_name("swift_task_enqueueMainExecutor")
@usableFromInline
internal func _enqueueOnMain(_ job: UnownedJob)

/// A singleton actor whose executor is equivalent to
/// \c DispatchQueue.main, which is the main dispatch queue.
@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
@globalActor public final actor MainActor: SerialExecutor {
public static let shared = MainActor()

Expand All @@ -75,15 +75,15 @@ internal func _enqueueOnMain(_ job: UnownedJob)
}

// Used by the concurrency runtime
@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
extension SerialExecutor {
@_silgen_name("_swift_task_getMainExecutor")
internal func _getMainExecutor() -> UnownedSerialExecutor {
return MainActor.shared.unownedExecutor
}
}

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
extension MainActor {
/// Execute the given body closure on the main actor.
public static func run<T>(
Expand Down
6 changes: 3 additions & 3 deletions stdlib/public/Concurrency/AsyncCompactMapSequence.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

import Swift

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
extension AsyncSequence {
@inlinable
public __consuming func compactMap<ElementOfResult>(
Expand All @@ -22,7 +22,7 @@ extension AsyncSequence {
}
}

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
public struct AsyncCompactMapSequence<Base: AsyncSequence, ElementOfResult> {
@usableFromInline
let base: Base
Expand All @@ -40,7 +40,7 @@ public struct AsyncCompactMapSequence<Base: AsyncSequence, ElementOfResult> {
}
}

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
extension AsyncCompactMapSequence: AsyncSequence {
public typealias Element = ElementOfResult
public typealias AsyncIterator = Iterator
Expand Down
8 changes: 4 additions & 4 deletions stdlib/public/Concurrency/AsyncDropFirstSequence.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

import Swift

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
extension AsyncSequence {
@inlinable
public __consuming func dropFirst(
Expand All @@ -24,7 +24,7 @@ extension AsyncSequence {
}
}

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
public struct AsyncDropFirstSequence<Base: AsyncSequence> {
@usableFromInline
let base: Base
Expand All @@ -39,7 +39,7 @@ public struct AsyncDropFirstSequence<Base: AsyncSequence> {
}
}

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
extension AsyncDropFirstSequence: AsyncSequence {
public typealias Element = Base.Element
public typealias AsyncIterator = Iterator
Expand Down Expand Up @@ -78,7 +78,7 @@ extension AsyncDropFirstSequence: AsyncSequence {
}
}

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
extension AsyncDropFirstSequence {
@inlinable
public __consuming func dropFirst(
Expand Down
6 changes: 3 additions & 3 deletions stdlib/public/Concurrency/AsyncDropWhileSequence.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

import Swift

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
extension AsyncSequence {
@inlinable
public __consuming func drop(
Expand All @@ -22,7 +22,7 @@ extension AsyncSequence {
}
}

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
public struct AsyncDropWhileSequence<Base: AsyncSequence> {
@usableFromInline
let base: Base
Expand All @@ -40,7 +40,7 @@ public struct AsyncDropWhileSequence<Base: AsyncSequence> {
}
}

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
extension AsyncDropWhileSequence: AsyncSequence {
public typealias Element = Base.Element
public typealias AsyncIterator = Iterator
Expand Down
6 changes: 3 additions & 3 deletions stdlib/public/Concurrency/AsyncFilterSequence.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

import Swift

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
extension AsyncSequence {
@inlinable
public __consuming func filter(
Expand All @@ -22,7 +22,7 @@ extension AsyncSequence {
}
}

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
public struct AsyncFilterSequence<Base: AsyncSequence> {
@usableFromInline
let base: Base
Expand All @@ -40,7 +40,7 @@ public struct AsyncFilterSequence<Base: AsyncSequence> {
}
}

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
extension AsyncFilterSequence: AsyncSequence {
public typealias Element = Base.Element
public typealias AsyncIterator = Iterator
Expand Down
6 changes: 3 additions & 3 deletions stdlib/public/Concurrency/AsyncFlatMapSequence.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

import Swift

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
extension AsyncSequence {
@inlinable
public __consuming func flatMap<SegmentOfResult: AsyncSequence>(
Expand All @@ -22,7 +22,7 @@ extension AsyncSequence {
}
}

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
public struct AsyncFlatMapSequence<Base: AsyncSequence, SegmentOfResult: AsyncSequence> {
@usableFromInline
let base: Base
Expand All @@ -40,7 +40,7 @@ public struct AsyncFlatMapSequence<Base: AsyncSequence, SegmentOfResult: AsyncSe
}
}

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
extension AsyncFlatMapSequence: AsyncSequence {
public typealias Element = SegmentOfResult.Element
public typealias AsyncIterator = Iterator
Expand Down
2 changes: 1 addition & 1 deletion stdlib/public/Concurrency/AsyncIteratorProtocol.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

import Swift

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
@rethrows
public protocol AsyncIteratorProtocol {
associatedtype Element
Expand Down
8 changes: 4 additions & 4 deletions stdlib/public/Concurrency/AsyncLet.swift
Original file line number Diff line number Diff line change
Expand Up @@ -16,24 +16,24 @@ import Swift
// ==== Async Let -------------------------------------------------------------
// Only has internal / builtin functions as it is not really accessible directly

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
@_silgen_name("swift_asyncLet_start")
public func _asyncLetStart<T>(
asyncLet: Builtin.RawPointer,
operation: @Sendable () async throws -> T
)

/// Similar to _taskFutureGet but for AsyncLet
@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
@_silgen_name("swift_asyncLet_wait")
public func _asyncLetGet<T>(asyncLet: Builtin.RawPointer) async -> T

///// Similar to _taskFutureGetThrowing but for AsyncLet
@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
@_silgen_name("swift_asyncLet_wait_throwing")
public func _asyncLetGetThrowing<T>(asyncLet: Builtin.RawPointer) async throws -> T

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
@_silgen_name("swift_asyncLet_end")
public func _asyncLetEnd(
asyncLet: Builtin.RawPointer // TODO: should this take __owned?
Expand Down
6 changes: 3 additions & 3 deletions stdlib/public/Concurrency/AsyncMapSequence.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

import Swift

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
extension AsyncSequence {
@inlinable
public __consuming func map<Transformed>(
Expand All @@ -22,7 +22,7 @@ extension AsyncSequence {
}
}

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
public struct AsyncMapSequence<Base: AsyncSequence, Transformed> {
@usableFromInline
let base: Base
Expand All @@ -40,7 +40,7 @@ public struct AsyncMapSequence<Base: AsyncSequence, Transformed> {
}
}

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
extension AsyncMapSequence: AsyncSequence {
public typealias Element = Transformed
public typealias AsyncIterator = Iterator
Expand Down
6 changes: 3 additions & 3 deletions stdlib/public/Concurrency/AsyncPrefixSequence.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

import Swift

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
extension AsyncSequence {
@inlinable
public __consuming func prefix(
Expand All @@ -24,7 +24,7 @@ extension AsyncSequence {
}
}

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
public struct AsyncPrefixSequence<Base: AsyncSequence> {
@usableFromInline
let base: Base
Expand All @@ -39,7 +39,7 @@ public struct AsyncPrefixSequence<Base: AsyncSequence> {
}
}

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
extension AsyncPrefixSequence: AsyncSequence {
public typealias Element = Base.Element
public typealias AsyncIterator = Iterator
Expand Down
6 changes: 3 additions & 3 deletions stdlib/public/Concurrency/AsyncPrefixWhileSequence.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

import Swift

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
extension AsyncSequence {
@inlinable
public __consuming func prefix(
Expand All @@ -22,7 +22,7 @@ extension AsyncSequence {
}
}

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
public struct AsyncPrefixWhileSequence<Base: AsyncSequence> {
@usableFromInline
let base: Base
Expand All @@ -40,7 +40,7 @@ public struct AsyncPrefixWhileSequence<Base: AsyncSequence> {
}
}

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
extension AsyncPrefixWhileSequence: AsyncSequence {
public typealias Element = Base.Element
public typealias AsyncIterator = Iterator
Expand Down
18 changes: 9 additions & 9 deletions stdlib/public/Concurrency/AsyncSequence.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,15 @@

import Swift

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
@rethrows
public protocol AsyncSequence {
associatedtype AsyncIterator: AsyncIteratorProtocol where AsyncIterator.Element == Element
associatedtype Element
__consuming func makeAsyncIterator() -> AsyncIterator
}

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
extension AsyncSequence {
@inlinable
public func reduce<Result>(
Expand Down Expand Up @@ -51,7 +51,7 @@ extension AsyncSequence {
}
}

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
@inlinable
@inline(__always)
func _contains<Source: AsyncSequence>(
Expand All @@ -66,7 +66,7 @@ func _contains<Source: AsyncSequence>(
return false
}

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
extension AsyncSequence {
@inlinable
public func contains(
Expand All @@ -83,7 +83,7 @@ extension AsyncSequence {
}
}

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
extension AsyncSequence where Element: Equatable {
@inlinable
public func contains(_ search: Element) async rethrows -> Bool {
Expand All @@ -96,7 +96,7 @@ extension AsyncSequence where Element: Equatable {
}
}

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
@inlinable
@inline(__always)
func _first<Source: AsyncSequence>(
Expand All @@ -111,7 +111,7 @@ func _first<Source: AsyncSequence>(
return nil
}

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
extension AsyncSequence {
@inlinable
public func first(
Expand All @@ -121,7 +121,7 @@ extension AsyncSequence {
}
}

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
extension AsyncSequence {
@inlinable
@warn_unqualified_access
Expand Down Expand Up @@ -158,7 +158,7 @@ extension AsyncSequence {
}
}

@available(macOS 9999, iOS 9999, watchOS 9999, tvOS 9999, *)
@available(SwiftStdlib 5.5, *)
extension AsyncSequence where Element: Comparable {
@inlinable
@warn_unqualified_access
Expand Down
Loading