The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

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 arm64

Build 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.