Build Information
Successful build of OpenFeature, reference 0.5.0 (d71686), with Swift 6.0 for macOS (SPM) on 12 Nov 2025 21:23:12 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.2.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/open-feature/swift-sdk.git
Reference: 0.5.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/open-feature/swift-sdk
* tag 0.5.0 -> FETCH_HEAD
HEAD is now at d716862 chore(main): release 0.5.0 (#73)
Cloned https://github.com/open-feature/swift-sdk.git
Revision (git rev-parse @):
d71686219a65ab78f77923ceb0e2ea549e1e50ef
SUCCESS checkout https://github.com/open-feature/swift-sdk.git at 0.5.0
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/open-feature/swift-sdk.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.2.0.app xcrun swift build --arch arm64
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-5BDAB9E9C0126B9D.txt
[3/40] Emitting module OpenFeature
[4/44] Compiling OpenFeature AsyncProviderOperationsQueue.swift
[5/44] Compiling OpenFeature BaseEvaluation.swift
[6/44] Compiling OpenFeature Client.swift
[7/44] Compiling OpenFeature ClientMetadata.swift
[8/44] Compiling OpenFeature EvaluationContext.swift
[9/44] Compiling OpenFeature TrackingEventDetails.swift
[10/44] Compiling OpenFeature Value.swift
[11/44] Compiling OpenFeature ErrorCode.swift
[12/44] Compiling OpenFeature OpenFeatureError.swift
[13/44] Compiling OpenFeature ProviderEvaluation.swift
[14/44] Compiling OpenFeature ProviderEventDetails.swift
[15/44] Compiling OpenFeature ProviderEvents.swift
[16/44] Compiling OpenFeature ProviderMetadata.swift
[17/44] Compiling OpenFeature ProviderStatus.swift
[18/44] Compiling OpenFeature Reason.swift
[19/44] Compiling OpenFeature Structure.swift
[20/44] Compiling OpenFeature Tracking.swift
[21/44] Compiling OpenFeature EventHandler.swift
[22/44] Compiling OpenFeature EventMetadataValue.swift
[23/44] Compiling OpenFeature Features+Defaults.swift
[24/44] Compiling OpenFeature Features.swift
[25/44] Compiling OpenFeature Hook.swift
[26/44] Compiling OpenFeature HookContext.swift
[27/44] Compiling OpenFeature HookSupport.swift
[28/44] Compiling OpenFeature ImmutableContext.swift
[29/44] Compiling OpenFeature FirstSuccessfulStrategy.swift
[30/44] Compiling OpenFeature MultiProvider.swift
[31/44] Compiling OpenFeature Strategy.swift
[32/44] Compiling OpenFeature NoOpProvider.swift
[33/44] Compiling OpenFeature ImmutableStructure.swift
[34/44] Compiling OpenFeature ImmutableTrackingEventDetails.swift
[35/44] Compiling OpenFeature MetadataValue.swift
[36/44] Compiling OpenFeature MutableStructure.swift
[37/44] Compiling OpenFeature FlagEvaluationDetails.swift
[38/44] Compiling OpenFeature FlagEvaluationOptions.swift
[39/44] Compiling OpenFeature FlagMetadataValue.swift
[40/44] Compiling OpenFeature FlagValueType.swift
[41/44] Compiling OpenFeature OpenFeatureAPI.swift
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:80:17: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | // Sync queue to change state atomically
:
78 | await unifiedQueue.run(lastWins: false) { [self] in
79 | stateQueue.sync {
80 | self.providerSubject.send(nil)
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
81 | self.providerStatus = .notReady
82 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:174:17: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | // Sync queue to change state atomically
:
172 | // Set initial state atomically
173 | stateQueue.sync {
174 | self.providerStatus = .notReady
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
175 | self.providerSubject.send(provider)
176 | if let initialContext = initialContext {
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:175:43: warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in an isolated closure
173 | stateQueue.sync {
174 | self.providerStatus = .notReady
175 | self.providerSubject.send(provider)
| `- warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in an isolated closure
176 | if let initialContext = initialContext {
177 | self.evaluationContext = initialContext
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/Provider/FeatureProvider.swift:4:17: note: protocol 'FeatureProvider' does not conform to the 'Sendable' protocol
2 |
3 | /// The interface implemented by upstream flag providers to resolve flags for their service.
4 | public protocol FeatureProvider: EventPublisher {
| `- note: protocol 'FeatureProvider' does not conform to the 'Sendable' protocol
5 | var hooks: [any Hook] { get }
6 | var metadata: ProviderMetadata { get }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:176:41: warning: capture of 'initialContext' with non-sendable type '(any EvaluationContext)?' in an isolated closure
174 | self.providerStatus = .notReady
175 | self.providerSubject.send(provider)
176 | if let initialContext = initialContext {
| `- warning: capture of 'initialContext' with non-sendable type '(any EvaluationContext)?' in an isolated closure
177 | self.evaluationContext = initialContext
178 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/EvaluationContext.swift:4:17: note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
2 |
3 | /// Container for arbitrary contextual data that can be used as a basis for dynamic evaluation.
4 | public protocol EvaluationContext: Structure {
| `- note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
5 | func getTargetingKey() -> String
6 | func deepCopy() -> EvaluationContext
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:185:21: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | // Sync queue to change state atomically
:
183 | try await provider.initialize(initialContext: initialContext)
184 | stateQueue.sync {
185 | self.providerStatus = .ready
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
186 | }
187 | self.eventHandler.send(.ready(nil))
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:192:25: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | // Sync queue to change state atomically
:
190 | switch error {
191 | case OpenFeatureError.providerFatalError(_):
192 | self.providerStatus = .fatal
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
193 | default:
194 | self.providerStatus = .error
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:237:21: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | // Sync queue to change state atomically
:
235 | )
236 | stateQueue.sync {
237 | self.providerStatus = .ready
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
238 | }
239 | eventHandler.send(.contextChanged(nil))
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:242:21: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | // Sync queue to change state atomically
:
240 | } catch {
241 | stateQueue.sync {
242 | self.providerStatus = .error
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
243 | }
244 | eventHandler.send(.error(ProviderEventDetails(message: error.localizedDescription)))
[42/44] Compiling OpenFeature OpenFeatureClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:80:17: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | // Sync queue to change state atomically
:
78 | await unifiedQueue.run(lastWins: false) { [self] in
79 | stateQueue.sync {
80 | self.providerSubject.send(nil)
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
81 | self.providerStatus = .notReady
82 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:174:17: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | // Sync queue to change state atomically
:
172 | // Set initial state atomically
173 | stateQueue.sync {
174 | self.providerStatus = .notReady
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
175 | self.providerSubject.send(provider)
176 | if let initialContext = initialContext {
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:175:43: warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in an isolated closure
173 | stateQueue.sync {
174 | self.providerStatus = .notReady
175 | self.providerSubject.send(provider)
| `- warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in an isolated closure
176 | if let initialContext = initialContext {
177 | self.evaluationContext = initialContext
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/Provider/FeatureProvider.swift:4:17: note: protocol 'FeatureProvider' does not conform to the 'Sendable' protocol
2 |
3 | /// The interface implemented by upstream flag providers to resolve flags for their service.
4 | public protocol FeatureProvider: EventPublisher {
| `- note: protocol 'FeatureProvider' does not conform to the 'Sendable' protocol
5 | var hooks: [any Hook] { get }
6 | var metadata: ProviderMetadata { get }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:176:41: warning: capture of 'initialContext' with non-sendable type '(any EvaluationContext)?' in an isolated closure
174 | self.providerStatus = .notReady
175 | self.providerSubject.send(provider)
176 | if let initialContext = initialContext {
| `- warning: capture of 'initialContext' with non-sendable type '(any EvaluationContext)?' in an isolated closure
177 | self.evaluationContext = initialContext
178 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/EvaluationContext.swift:4:17: note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
2 |
3 | /// Container for arbitrary contextual data that can be used as a basis for dynamic evaluation.
4 | public protocol EvaluationContext: Structure {
| `- note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
5 | func getTargetingKey() -> String
6 | func deepCopy() -> EvaluationContext
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:185:21: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | // Sync queue to change state atomically
:
183 | try await provider.initialize(initialContext: initialContext)
184 | stateQueue.sync {
185 | self.providerStatus = .ready
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
186 | }
187 | self.eventHandler.send(.ready(nil))
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:192:25: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | // Sync queue to change state atomically
:
190 | switch error {
191 | case OpenFeatureError.providerFatalError(_):
192 | self.providerStatus = .fatal
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
193 | default:
194 | self.providerStatus = .error
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:237:21: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | // Sync queue to change state atomically
:
235 | )
236 | stateQueue.sync {
237 | self.providerStatus = .ready
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
238 | }
239 | eventHandler.send(.contextChanged(nil))
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:242:21: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | // Sync queue to change state atomically
:
240 | } catch {
241 | stateQueue.sync {
242 | self.providerStatus = .error
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
243 | }
244 | eventHandler.send(.error(ProviderEventDetails(message: error.localizedDescription)))
[43/44] Compiling OpenFeature FeatureProvider.swift
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:80:17: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | // Sync queue to change state atomically
:
78 | await unifiedQueue.run(lastWins: false) { [self] in
79 | stateQueue.sync {
80 | self.providerSubject.send(nil)
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
81 | self.providerStatus = .notReady
82 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:174:17: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | // Sync queue to change state atomically
:
172 | // Set initial state atomically
173 | stateQueue.sync {
174 | self.providerStatus = .notReady
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
175 | self.providerSubject.send(provider)
176 | if let initialContext = initialContext {
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:175:43: warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in an isolated closure
173 | stateQueue.sync {
174 | self.providerStatus = .notReady
175 | self.providerSubject.send(provider)
| `- warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in an isolated closure
176 | if let initialContext = initialContext {
177 | self.evaluationContext = initialContext
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/Provider/FeatureProvider.swift:4:17: note: protocol 'FeatureProvider' does not conform to the 'Sendable' protocol
2 |
3 | /// The interface implemented by upstream flag providers to resolve flags for their service.
4 | public protocol FeatureProvider: EventPublisher {
| `- note: protocol 'FeatureProvider' does not conform to the 'Sendable' protocol
5 | var hooks: [any Hook] { get }
6 | var metadata: ProviderMetadata { get }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:176:41: warning: capture of 'initialContext' with non-sendable type '(any EvaluationContext)?' in an isolated closure
174 | self.providerStatus = .notReady
175 | self.providerSubject.send(provider)
176 | if let initialContext = initialContext {
| `- warning: capture of 'initialContext' with non-sendable type '(any EvaluationContext)?' in an isolated closure
177 | self.evaluationContext = initialContext
178 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/EvaluationContext.swift:4:17: note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
2 |
3 | /// Container for arbitrary contextual data that can be used as a basis for dynamic evaluation.
4 | public protocol EvaluationContext: Structure {
| `- note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
5 | func getTargetingKey() -> String
6 | func deepCopy() -> EvaluationContext
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:185:21: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | // Sync queue to change state atomically
:
183 | try await provider.initialize(initialContext: initialContext)
184 | stateQueue.sync {
185 | self.providerStatus = .ready
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
186 | }
187 | self.eventHandler.send(.ready(nil))
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:192:25: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | // Sync queue to change state atomically
:
190 | switch error {
191 | case OpenFeatureError.providerFatalError(_):
192 | self.providerStatus = .fatal
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
193 | default:
194 | self.providerStatus = .error
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:237:21: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | // Sync queue to change state atomically
:
235 | )
236 | stateQueue.sync {
237 | self.providerStatus = .ready
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
238 | }
239 | eventHandler.send(.contextChanged(nil))
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:242:21: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | // Sync queue to change state atomically
:
240 | } catch {
241 | stateQueue.sync {
242 | self.providerStatus = .error
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
243 | }
244 | eventHandler.send(.error(ProviderEventDetails(message: error.localizedDescription)))
[44/44] Compiling OpenFeature FirstMatchStrategy.swift
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:80:17: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | // Sync queue to change state atomically
:
78 | await unifiedQueue.run(lastWins: false) { [self] in
79 | stateQueue.sync {
80 | self.providerSubject.send(nil)
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
81 | self.providerStatus = .notReady
82 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:174:17: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | // Sync queue to change state atomically
:
172 | // Set initial state atomically
173 | stateQueue.sync {
174 | self.providerStatus = .notReady
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
175 | self.providerSubject.send(provider)
176 | if let initialContext = initialContext {
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:175:43: warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in an isolated closure
173 | stateQueue.sync {
174 | self.providerStatus = .notReady
175 | self.providerSubject.send(provider)
| `- warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in an isolated closure
176 | if let initialContext = initialContext {
177 | self.evaluationContext = initialContext
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/Provider/FeatureProvider.swift:4:17: note: protocol 'FeatureProvider' does not conform to the 'Sendable' protocol
2 |
3 | /// The interface implemented by upstream flag providers to resolve flags for their service.
4 | public protocol FeatureProvider: EventPublisher {
| `- note: protocol 'FeatureProvider' does not conform to the 'Sendable' protocol
5 | var hooks: [any Hook] { get }
6 | var metadata: ProviderMetadata { get }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:176:41: warning: capture of 'initialContext' with non-sendable type '(any EvaluationContext)?' in an isolated closure
174 | self.providerStatus = .notReady
175 | self.providerSubject.send(provider)
176 | if let initialContext = initialContext {
| `- warning: capture of 'initialContext' with non-sendable type '(any EvaluationContext)?' in an isolated closure
177 | self.evaluationContext = initialContext
178 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/EvaluationContext.swift:4:17: note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
2 |
3 | /// Container for arbitrary contextual data that can be used as a basis for dynamic evaluation.
4 | public protocol EvaluationContext: Structure {
| `- note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
5 | func getTargetingKey() -> String
6 | func deepCopy() -> EvaluationContext
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:185:21: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | // Sync queue to change state atomically
:
183 | try await provider.initialize(initialContext: initialContext)
184 | stateQueue.sync {
185 | self.providerStatus = .ready
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
186 | }
187 | self.eventHandler.send(.ready(nil))
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:192:25: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | // Sync queue to change state atomically
:
190 | switch error {
191 | case OpenFeatureError.providerFatalError(_):
192 | self.providerStatus = .fatal
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
193 | default:
194 | self.providerStatus = .error
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:237:21: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | // Sync queue to change state atomically
:
235 | )
236 | stateQueue.sync {
237 | self.providerStatus = .ready
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
238 | }
239 | eventHandler.send(.contextChanged(nil))
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:242:21: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | // Sync queue to change state atomically
:
240 | } catch {
241 | stateQueue.sync {
242 | self.providerStatus = .error
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure
243 | }
244 | eventHandler.send(.error(ProviderEventDetails(message: error.localizedDescription)))
Build complete! (4.75s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "OpenFeature",
"name" : "OpenFeature",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "14.0"
},
{
"name" : "macos",
"version" : "11.0"
},
{
"name" : "watchos",
"version" : "7.0"
},
{
"name" : "tvos",
"version" : "14.0"
}
],
"products" : [
{
"name" : "OpenFeature",
"targets" : [
"OpenFeature"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "OpenFeatureTests",
"module_type" : "SwiftTarget",
"name" : "OpenFeatureTests",
"path" : "Tests/OpenFeatureTests",
"sources" : [
"DeveloperExperienceTests.swift",
"EvalContextTests.swift",
"FlagEvaluationTests.swift",
"Helpers/AlwaysBrokenProvider.swift",
"Helpers/BooleanHookMock.swift",
"Helpers/DoSomethingProvider.swift",
"Helpers/IntHookMock.swift",
"Helpers/MockProvider.swift",
"Helpers/MutableContext.swift",
"Helpers/StaggeredProvider.swift",
"Helpers/ThrowingProvider.swift",
"HookSpecTests.swift",
"HookSupportTests.swift",
"ImmutableContextTests.swift",
"ImmutableTrackingEventDetailsTests.swift",
"MultiProviderTests.swift",
"OpenFeatureClientTests.swift",
"ProviderEventTests.swift",
"ProviderOperationsQueueTests.swift",
"ProviderSpecTests.swift",
"StructureTests.swift",
"ValueTests.swift"
],
"target_dependencies" : [
"OpenFeature"
],
"type" : "test"
},
{
"c99name" : "OpenFeature",
"module_type" : "SwiftTarget",
"name" : "OpenFeature",
"path" : "Sources/OpenFeature",
"product_memberships" : [
"OpenFeature"
],
"sources" : [
"AsyncProviderOperationsQueue.swift",
"BaseEvaluation.swift",
"Client.swift",
"ClientMetadata.swift",
"EvaluationContext.swift",
"EventHandler.swift",
"EventMetadataValue.swift",
"Features+Defaults.swift",
"Features.swift",
"FlagEvaluationDetails.swift",
"FlagEvaluationOptions.swift",
"FlagMetadataValue.swift",
"FlagValueType.swift",
"Hook.swift",
"HookContext.swift",
"HookSupport.swift",
"ImmutableContext.swift",
"ImmutableStructure.swift",
"ImmutableTrackingEventDetails.swift",
"MetadataValue.swift",
"MutableStructure.swift",
"OpenFeatureAPI.swift",
"OpenFeatureClient.swift",
"Provider/FeatureProvider.swift",
"Provider/MultiProvider/FirstMatchStrategy.swift",
"Provider/MultiProvider/FirstSuccessfulStrategy.swift",
"Provider/MultiProvider/MultiProvider.swift",
"Provider/MultiProvider/Strategy.swift",
"Provider/NoOpProvider.swift",
"Provider/ProviderEvaluation.swift",
"Provider/ProviderEventDetails.swift",
"Provider/ProviderEvents.swift",
"Provider/ProviderMetadata.swift",
"Provider/ProviderStatus.swift",
"Reason.swift",
"Structure.swift",
"Tracking.swift",
"TrackingEventDetails.swift",
"Value.swift",
"exceptions/ErrorCode.swift",
"exceptions/OpenFeatureError.swift"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
Done.