Open
Description
The code currently poly-fills Synchronization.Mutex on Apple platforms, as we need to deploy to platforms older than macOS 15. (see Sources/SWBUtil/Lock.swift)
This poly-fill is however not implemented correctly (it's a class, not a struct), which causes a couple of Swift 6 errors to be emitted.
I looked at doing this earlier by copying https://github.com/swiftlang/swift/blob/main/stdlib/public/Synchronization/Mutex/Mutex.swift, but there's a lot of underscored attributes used in the implementation like @_alwaysEmitIntoClient, @_staticExclusiveOnly, etc. I don't know what all of these mean or which ones would be appropriate in a poly-fill version of the implementation.
Metadata
Metadata
Assignees
Labels
No labels