@@ -13,7 +13,7 @@ import Synchronization
13
13
import DequeModule
14
14
15
15
@available ( AsyncAlgorithms 1 . 1 , * )
16
- extension AsyncSequence where Element: Sendable , Self: SendableMetatype , AsyncIterator: SendableMetatype {
16
+ extension AsyncSequence where Element: Sendable , Self: _AsyncSequenceSendableMetatype , AsyncIterator: _AsyncIteratorSendableMetatype {
17
17
/// Creates a shared async sequence that allows multiple concurrent iterations over a single source.
18
18
///
19
19
/// The `share` method transforms an async sequence into a shareable sequence that can be safely
@@ -107,7 +107,7 @@ extension AsyncSequence where Element: Sendable, Self: SendableMetatype, AsyncIt
107
107
// This type is typically not used directly; instead, use the `share()` method on any
108
108
// async sequence that meets the sendability requirements.
109
109
@available ( AsyncAlgorithms 1 . 1 , * )
110
- struct AsyncShareSequence < Base: AsyncSequence > : Sendable where Base. Element: Sendable , Base: SendableMetatype , Base. AsyncIterator: SendableMetatype {
110
+ struct AsyncShareSequence < Base: AsyncSequence > : Sendable where Base. Element: Sendable , Base: _AsyncSequenceSendableMetatype , Base. AsyncIterator: _AsyncIteratorSendableMetatype {
111
111
// Represents a single consumer's connection to the shared sequence.
112
112
//
113
113
// Each iterator of the shared sequence creates its own `Side` instance, which tracks
@@ -586,7 +586,7 @@ struct AsyncShareSequence<Base: AsyncSequence>: Sendable where Base.Element: Sen
586
586
if let factory {
587
587
let task : Task < Void , Never >
588
588
// for the fancy dance of availability and canImport see the comment on the next check for details
589
- #if canImport(_Concurrency, _version: 6.2)
589
+ #if swift(>= 6.2)
590
590
if #available( macOS 26 . 0 , iOS 26 . 0 , tvOS 26 . 0 , visionOS 26 . 0 , * ) {
591
591
task = Task ( name: " Share Iteration " ) { [ factory, self ] in
592
592
await iterationLoop ( factory: factory)
@@ -616,7 +616,9 @@ struct AsyncShareSequence<Base: AsyncSequence>: Sendable where Base.Element: Sen
616
616
// the _Concurrency library. This menas for Darwin based OSes we have to have a fallback at runtime,
617
617
// and for non-darwin OSes we need to verify against the ability to import that version.
618
618
// Using this priority escalation means that the base task can avoid being detached.
619
- #if canImport(_Concurrency, _version: 6.2)
619
+ //
620
+ // This is disabled for now until the 9999 availability is removed from `withTaskPriorityEscalationHandler`
621
+ #if false /*swift(>=6.2)*/
620
622
if #available( macOS 26 . 0 , iOS 26 . 0 , tvOS 26 . 0 , visionOS 26 . 0 , * ) {
621
623
return try await withTaskPriorityEscalationHandler {
622
624
return await nextIteration ( id)
0 commit comments