Я столкнулся с проблемой безопасности параллелизма в режиме StrictConcurrency Swift 5.10, которую пытаюсь решить. Я работаю со структурой EnvironmentKey, которая включает статическое свойство, определенное как асинхронное замыкание, возвращающее необязательный пользовательский актер. Вот упрощенный фрагмент кода:
Код: Выделить всё
struct DataHandlerKey: EnvironmentKey {
static var defaultValue: @Sendable () async -> Hello? = { nil }
}
actor Hello {}
Код: Выделить всё
Static property 'defaultValue' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6.
Any insights, suggestions, or references to relevant documentation would be greatly appreciated. Thank you in advance for your help!
Источник: https://stackoverflow.com/questions/781 ... ronmentkey
Мобильная версия