Skip to content

Commit 5a28124

Browse files
committed
1 parent 4851060 commit 5a28124

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

Sources/Mutex.swift

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,12 @@
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

Comments
 (0)