|
10 | 10 | @_implementationOnly import CoreFoundation
|
11 | 11 | internal import Synchronization
|
12 | 12 |
|
13 |
| -private let registeredDefaults = Mutex<[String: Any]>([:]) |
| 13 | +private let registeredDefaults = Mutex<[String: (Any & Sendable)]>([:]) |
14 | 14 | private nonisolated(unsafe) var sharedDefaults = UserDefaults() // the default one is thread safe, at least
|
15 | 15 |
|
16 | 16 | fileprivate func bridgeFromNSCFTypeIfNeeded(_ value: Any) -> Any {
|
@@ -342,22 +342,22 @@ open class UserDefaults: NSObject {
|
342 | 342 | return _dictionaryRepresentation(includingVolatileDomains: true)
|
343 | 343 | }
|
344 | 344 |
|
345 |
| - private func _dictionaryRepresentation(includingVolatileDomains: Bool) -> [String: Any] { |
| 345 | + private func _dictionaryRepresentation(includingVolatileDomains: Bool) -> [String: (Any & Sendable)] { |
346 | 346 | let registeredDefaultsIfAllowed = includingVolatileDomains ? registeredDefaults.withLock { $0 } : [:]
|
347 | 347 |
|
348 | 348 | let defaultsFromDiskCF = CFPreferencesCopyMultiple(nil, suite?._cfObject ?? kCFPreferencesCurrentApplication, kCFPreferencesCurrentUser, kCFPreferencesAnyHost)
|
349 |
| - let defaultsFromDiskWithNumbersBoxed = __SwiftValue.fetch(defaultsFromDiskCF) as? [String: Any] ?? [:] |
| 349 | + let defaultsFromDiskWithNumbersBoxed = __SwiftValue.fetch(defaultsFromDiskCF) as? [String: (Any & Sendable)] ?? [:] |
350 | 350 |
|
351 | 351 | if registeredDefaultsIfAllowed.isEmpty {
|
352 |
| - return UserDefaults._unboxingNSNumbers(defaultsFromDiskWithNumbersBoxed) as! [String: Any] |
| 352 | + return UserDefaults._unboxingNSNumbers(defaultsFromDiskWithNumbersBoxed) as! [String: (Any & Sendable)] |
353 | 353 | } else {
|
354 | 354 | var allDefaults = registeredDefaultsIfAllowed
|
355 | 355 |
|
356 | 356 | for (key, value) in defaultsFromDiskWithNumbersBoxed {
|
357 | 357 | allDefaults[key] = value
|
358 | 358 | }
|
359 | 359 |
|
360 |
| - return UserDefaults._unboxingNSNumbers(allDefaults) as! [String: Any] |
| 360 | + return UserDefaults._unboxingNSNumbers(allDefaults) as! [String: (Any & Sendable)] |
361 | 361 | }
|
362 | 362 | }
|
363 | 363 |
|
|
0 commit comments