@@ -75,6 +75,17 @@ extension Task where Success == Never, Failure == Never {
75
75
76
76
@available ( SwiftStdlib 5 . 1 , * )
77
77
extension Task where Failure == Error {
78
+ #if SWIFT_STDLIB_TASK_TO_THREAD_MODEL_CONCURRENCY
79
+ @discardableResult
80
+ @_alwaysEmitIntoClient
81
+ @available ( * , unavailable, message: " Unavailable in task-to-thread concurrency model " )
82
+ public static func runDetached(
83
+ priority: TaskPriority ? = nil ,
84
+ operation: __owned @Sendable @escaping ( ) async throws -> Success
85
+ ) -> Task < Success , Failure > {
86
+ fatalError ( " Unavailable in task-to-thread concurrency model " )
87
+ }
88
+ #else
78
89
@discardableResult
79
90
@_alwaysEmitIntoClient
80
91
@available ( * , deprecated, message: " `Task.runDetached` was replaced by `Task.detached` and will be removed shortly. " )
@@ -84,8 +95,21 @@ extension Task where Failure == Error {
84
95
) -> Task < Success , Failure > {
85
96
detached ( priority: priority, operation: operation)
86
97
}
98
+ #endif
87
99
}
88
100
101
+ #if SWIFT_STDLIB_TASK_TO_THREAD_MODEL_CONCURRENCY
102
+ @discardableResult
103
+ @available ( SwiftStdlib 5 . 1 , * )
104
+ @available ( * , unavailable, message: " Unavailable in task-to-thread concurrency model " )
105
+ @_alwaysEmitIntoClient
106
+ public func detach< T> (
107
+ priority: TaskPriority ? = nil ,
108
+ operation: __owned @Sendable @escaping ( ) async -> T
109
+ ) -> Task < T , Never > {
110
+ fatalError ( " Unavailable in task-to-thread concurrency model " )
111
+ }
112
+ #else
89
113
@discardableResult
90
114
@available ( SwiftStdlib 5 . 1 , * )
91
115
@available ( * , deprecated, message: " `detach` was replaced by `Task.detached` and will be removed shortly. " )
@@ -96,7 +120,20 @@ public func detach<T>(
96
120
) -> Task < T , Never > {
97
121
Task . detached ( priority: priority, operation: operation)
98
122
}
123
+ #endif
99
124
125
+ #if SWIFT_STDLIB_TASK_TO_THREAD_MODEL_CONCURRENCY
126
+ @discardableResult
127
+ @available ( SwiftStdlib 5 . 1 , * )
128
+ @available ( * , unavailable, message: " Unavailable in task-to-thread concurrency model " )
129
+ @_alwaysEmitIntoClient
130
+ public func detach< T> (
131
+ priority: TaskPriority ? = nil ,
132
+ operation: __owned @Sendable @escaping ( ) async throws -> T
133
+ ) -> Task < T , Error > {
134
+ fatalError ( " Unavailable in task-to-thread concurrency model " )
135
+ }
136
+ #else
100
137
@discardableResult
101
138
@available ( SwiftStdlib 5 . 1 , * )
102
139
@available ( * , deprecated, message: " `detach` was replaced by `Task.detached` and will be removed shortly. " )
@@ -107,7 +144,20 @@ public func detach<T>(
107
144
) -> Task < T , Error > {
108
145
Task . detached ( priority: priority, operation: operation)
109
146
}
147
+ #endif
110
148
149
+ #if SWIFT_STDLIB_TASK_TO_THREAD_MODEL_CONCURRENCY
150
+ @discardableResult
151
+ @available ( SwiftStdlib 5 . 1 , * )
152
+ @available ( * , unavailable, message: " Unavailable in task-to-thread concurrency model " )
153
+ @_alwaysEmitIntoClient
154
+ public func asyncDetached< T> (
155
+ priority: TaskPriority ? = nil ,
156
+ @_implicitSelfCapture operation: __owned @Sendable @escaping ( ) async -> T
157
+ ) -> Task < T , Never > {
158
+ fatalError ( " Unavailable in task-to-thread concurrency model " )
159
+ }
160
+ #else
111
161
@discardableResult
112
162
@available ( SwiftStdlib 5 . 1 , * )
113
163
@available ( * , deprecated, message: " `asyncDetached` was replaced by `Task.detached` and will be removed shortly. " )
@@ -118,7 +168,20 @@ public func asyncDetached<T>(
118
168
) -> Task < T , Never > {
119
169
return Task . detached ( priority: priority, operation: operation)
120
170
}
171
+ #endif
121
172
173
+ #if SWIFT_STDLIB_TASK_TO_THREAD_MODEL_CONCURRENCY
174
+ @discardableResult
175
+ @available ( SwiftStdlib 5 . 1 , * )
176
+ @available ( * , unavailable, message: " Unavailable in task-to-thread concurrency model " )
177
+ @_alwaysEmitIntoClient
178
+ public func asyncDetached< T> (
179
+ priority: TaskPriority ? = nil ,
180
+ @_implicitSelfCapture operation: __owned @Sendable @escaping ( ) async throws -> T
181
+ ) -> Task < T , Error > {
182
+ fatalError ( " Unavailable in task-to-thread concurrency model " )
183
+ }
184
+ #else
122
185
@discardableResult
123
186
@available ( SwiftStdlib 5 . 1 , * )
124
187
@available ( * , deprecated, message: " `asyncDetached` was replaced by `Task.detached` and will be removed shortly. " )
@@ -129,7 +192,20 @@ public func asyncDetached<T>(
129
192
) -> Task < T , Error > {
130
193
return Task . detached ( priority: priority, operation: operation)
131
194
}
195
+ #endif
132
196
197
+ #if SWIFT_STDLIB_TASK_TO_THREAD_MODEL_CONCURRENCY
198
+ @available ( SwiftStdlib 5 . 1 , * )
199
+ @available ( * , unavailable, message: " Unavailable in task-to-thread concurrency model " )
200
+ @discardableResult
201
+ @_alwaysEmitIntoClient
202
+ public func async < T> (
203
+ priority: TaskPriority ? = nil ,
204
+ @_inheritActorContext @_implicitSelfCapture operation: __owned @Sendable @escaping ( ) async -> T
205
+ ) -> Task < T , Never > {
206
+ fatalError ( " Unavailable in task-to-thread concurrency model " )
207
+ }
208
+ #else
133
209
@available ( SwiftStdlib 5 . 1 , * )
134
210
@available ( * , deprecated, message: " `async` was replaced by `Task.init` and will be removed shortly. " )
135
211
@discardableResult
@@ -140,7 +216,20 @@ public func async<T>(
140
216
) -> Task < T , Never > {
141
217
. init( priority: priority, operation: operation)
142
218
}
219
+ #endif
143
220
221
+ #if SWIFT_STDLIB_TASK_TO_THREAD_MODEL_CONCURRENCY
222
+ @available ( SwiftStdlib 5 . 1 , * )
223
+ @available ( * , unavailable, message: " Unavailable in task-to-thread concurrency model " )
224
+ @discardableResult
225
+ @_alwaysEmitIntoClient
226
+ public func async < T> (
227
+ priority: TaskPriority ? = nil ,
228
+ @_inheritActorContext @_implicitSelfCapture operation: __owned @Sendable @escaping ( ) async throws -> T
229
+ ) -> Task < T , Error > {
230
+ fatalError ( " Unavailable in task-to-thread concurrency model " )
231
+ }
232
+ #else
144
233
@available ( SwiftStdlib 5 . 1 , * )
145
234
@available ( * , deprecated, message: " `async` was replaced by `Task.init` and will be removed shortly. " )
146
235
@discardableResult
@@ -151,6 +240,7 @@ public func async<T>(
151
240
) -> Task < T , Error > {
152
241
. init( priority: priority, operation: operation)
153
242
}
243
+ #endif
154
244
155
245
@available ( SwiftStdlib 5 . 1 , * )
156
246
extension Task where Success == Never , Failure == Never {
0 commit comments