3535
3636// Backports the Swift 6 type Mutex<Value> to all Darwin platforms
3737
38- @available ( macOS, introduced : 13.0 , deprecated: 15.0 , message: " use Mutex from Synchronization module " )
39- @available ( iOS, introduced : 16.0 , deprecated: 18.0 , message: " use Mutex from Synchronization module " )
40- @available ( tvOS, introduced : 18.0 , deprecated: 15.0 , message: " use Mutex from Synchronization module " )
41- @available ( watchOS, introduced : 11.0 , deprecated: 15.0 , message: " use Mutex from Synchronization module " )
42- @available ( visionOS, introduced : 2.0 , deprecated: 15.0 , message: " use Mutex from Synchronization module " )
43- public struct Mutex < Value: ~ Copyable> : @ unchecked Sendable , ~ Copyable {
38+ @available ( macOS, deprecated: 15.0 , message: " use Mutex from Synchronization module " )
39+ @available ( iOS, deprecated: 18.0 , message: " use Mutex from Synchronization module " )
40+ @available ( tvOS, deprecated: 15.0 , message: " use Mutex from Synchronization module " )
41+ @available ( watchOS, deprecated: 15.0 , message: " use Mutex from Synchronization module " )
42+ @available ( visionOS, deprecated: 15.0 , message: " use Mutex from Synchronization module " )
43+ public struct Mutex < Value: ~ Copyable> : ~ Copyable {
4444 let storage : Storage < Value >
4545
4646 public init ( _ initialValue: consuming sending Value) {
@@ -64,6 +64,8 @@ public struct Mutex<Value: ~Copyable>: @unchecked Sendable, ~Copyable {
6464 }
6565}
6666
67+ extension Mutex : @unchecked Sendable where Value: ~ Copyable { }
68+
6769#else
6870
6971// Windows doesn't support ~Copyable yet
0 commit comments