The Swift Package Index logo.Swift Package Index

Build Information

Successful build of OpenFeature, reference 0.5.0 (d71686), with Swift 6.1 for macOS (SPM) on 12 Nov 2025 21:21:28 UTC.

Swift 6 data race errors: 1

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

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.1
Building package at path:  $PWD
https://github.com/open-feature/swift-sdk.git
https://github.com/open-feature/swift-sdk.git
{
  "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"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.txt
[3/40] Emitting module OpenFeature
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:19:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OpenFeatureAPI' may have shared mutable state; this is an error in the Swift 6 language mode
  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
    :
 17 |
 18 |     /// The ``OpenFeatureAPI`` singleton
 19 |     static public let shared = OpenFeatureAPI()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OpenFeatureAPI' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 20 |
 21 |     public init() {}
[4/44] Compiling OpenFeature TrackingEventDetails.swift
[5/44] Compiling OpenFeature Value.swift
[6/44] Compiling OpenFeature ErrorCode.swift
[7/44] Compiling OpenFeature OpenFeatureError.swift
[8/44] Compiling OpenFeature AsyncProviderOperationsQueue.swift
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/AsyncProviderOperationsQueue.swift:47:32: warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
45 |             // Non-last-wins operation: execute it immediately
46 |             let op = queue.removeFirst()
47 |             currentTask = Task { [weak self] in
   |                                `- warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
48 |                 await op.operation()
   |                       `- note: closure captures 'op' which is accessible to 'self'-isolated code
49 |                 op.continuation.resume()
50 |                 await self?.processNext()
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/AsyncProviderOperationsQueue.swift:68:32: warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
66 |             queue.removeFirst(lastWinsCount)
67 |
68 |             currentTask = Task { [weak self] in
   |                                `- warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
69 |                 await toExecute.operation()
   |                       `- note: closure captures non-Sendable 'toExecute'
70 |
71 |                 // Resume all continuations (both skipped and executed)
72 |                 for op in toSkip {
   |                           `- note: closure captures non-Sendable 'toSkip'
73 |                     op.continuation.resume()
74 |                 }
[9/44] Compiling OpenFeature BaseEvaluation.swift
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/AsyncProviderOperationsQueue.swift:47:32: warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
45 |             // Non-last-wins operation: execute it immediately
46 |             let op = queue.removeFirst()
47 |             currentTask = Task { [weak self] in
   |                                `- warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
48 |                 await op.operation()
   |                       `- note: closure captures 'op' which is accessible to 'self'-isolated code
49 |                 op.continuation.resume()
50 |                 await self?.processNext()
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/AsyncProviderOperationsQueue.swift:68:32: warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
66 |             queue.removeFirst(lastWinsCount)
67 |
68 |             currentTask = Task { [weak self] in
   |                                `- warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
69 |                 await toExecute.operation()
   |                       `- note: closure captures non-Sendable 'toExecute'
70 |
71 |                 // Resume all continuations (both skipped and executed)
72 |                 for op in toSkip {
   |                           `- note: closure captures non-Sendable 'toSkip'
73 |                     op.continuation.resume()
74 |                 }
[10/44] Compiling OpenFeature Client.swift
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/AsyncProviderOperationsQueue.swift:47:32: warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
45 |             // Non-last-wins operation: execute it immediately
46 |             let op = queue.removeFirst()
47 |             currentTask = Task { [weak self] in
   |                                `- warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
48 |                 await op.operation()
   |                       `- note: closure captures 'op' which is accessible to 'self'-isolated code
49 |                 op.continuation.resume()
50 |                 await self?.processNext()
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/AsyncProviderOperationsQueue.swift:68:32: warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
66 |             queue.removeFirst(lastWinsCount)
67 |
68 |             currentTask = Task { [weak self] in
   |                                `- warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
69 |                 await toExecute.operation()
   |                       `- note: closure captures non-Sendable 'toExecute'
70 |
71 |                 // Resume all continuations (both skipped and executed)
72 |                 for op in toSkip {
   |                           `- note: closure captures non-Sendable 'toSkip'
73 |                     op.continuation.resume()
74 |                 }
[11/44] Compiling OpenFeature ClientMetadata.swift
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/AsyncProviderOperationsQueue.swift:47:32: warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
45 |             // Non-last-wins operation: execute it immediately
46 |             let op = queue.removeFirst()
47 |             currentTask = Task { [weak self] in
   |                                `- warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
48 |                 await op.operation()
   |                       `- note: closure captures 'op' which is accessible to 'self'-isolated code
49 |                 op.continuation.resume()
50 |                 await self?.processNext()
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/AsyncProviderOperationsQueue.swift:68:32: warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
66 |             queue.removeFirst(lastWinsCount)
67 |
68 |             currentTask = Task { [weak self] in
   |                                `- warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
69 |                 await toExecute.operation()
   |                       `- note: closure captures non-Sendable 'toExecute'
70 |
71 |                 // Resume all continuations (both skipped and executed)
72 |                 for op in toSkip {
   |                           `- note: closure captures non-Sendable 'toSkip'
73 |                     op.continuation.resume()
74 |                 }
[12/44] Compiling OpenFeature EvaluationContext.swift
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/AsyncProviderOperationsQueue.swift:47:32: warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
45 |             // Non-last-wins operation: execute it immediately
46 |             let op = queue.removeFirst()
47 |             currentTask = Task { [weak self] in
   |                                `- warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
48 |                 await op.operation()
   |                       `- note: closure captures 'op' which is accessible to 'self'-isolated code
49 |                 op.continuation.resume()
50 |                 await self?.processNext()
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/AsyncProviderOperationsQueue.swift:68:32: warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
66 |             queue.removeFirst(lastWinsCount)
67 |
68 |             currentTask = Task { [weak self] in
   |                                `- warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
69 |                 await toExecute.operation()
   |                       `- note: closure captures non-Sendable 'toExecute'
70 |
71 |                 // Resume all continuations (both skipped and executed)
72 |                 for op in toSkip {
   |                           `- note: closure captures non-Sendable 'toSkip'
73 |                     op.continuation.resume()
74 |                 }
[13/44] Compiling OpenFeature FlagEvaluationDetails.swift
[14/44] Compiling OpenFeature FlagEvaluationOptions.swift
[15/44] Compiling OpenFeature FlagMetadataValue.swift
[16/44] Compiling OpenFeature FlagValueType.swift
[17/44] Compiling OpenFeature ProviderEvaluation.swift
[18/44] Compiling OpenFeature ProviderEventDetails.swift
[19/44] Compiling OpenFeature ProviderEvents.swift
[20/44] Compiling OpenFeature ProviderMetadata.swift
[21/44] Compiling OpenFeature ImmutableStructure.swift
[22/44] Compiling OpenFeature ImmutableTrackingEventDetails.swift
[23/44] Compiling OpenFeature MetadataValue.swift
[24/44] Compiling OpenFeature MutableStructure.swift
[25/44] Compiling OpenFeature EventHandler.swift
[26/44] Compiling OpenFeature EventMetadataValue.swift
[27/44] Compiling OpenFeature Features+Defaults.swift
[28/44] Compiling OpenFeature Features.swift
[29/44] Compiling OpenFeature FirstSuccessfulStrategy.swift
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/Provider/MultiProvider/MultiProvider.swift:32:31: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 30 |         try await withThrowingTaskGroup(of: Void.self) { group in
 31 |             for provider in providers {
 32 |                 group.addTask {
    |                               `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 33 |                     try await provider.initialize(initialContext: initialContext)
    |                               |                                   `- note: closure captures non-Sendable 'initialContext'
    |                               `- note: closure captures non-Sendable 'provider'
 34 |                 }
 35 |             }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/Provider/MultiProvider/MultiProvider.swift:43:31: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 41 |         try await withThrowingTaskGroup(of: Void.self) { group in
 42 |             for provider in providers {
 43 |                 group.addTask {
    |                               `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 44 |                     try await provider.onContextSet(oldContext: oldContext, newContext: newContext)
    |                               |                                 |                       `- note: closure captures non-Sendable 'newContext'
    |                               |                                 `- note: closure captures non-Sendable 'oldContext'
    |                               `- note: closure captures non-Sendable 'provider'
 45 |                 }
 46 |             }
[30/44] Compiling OpenFeature MultiProvider.swift
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/Provider/MultiProvider/MultiProvider.swift:32:31: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 30 |         try await withThrowingTaskGroup(of: Void.self) { group in
 31 |             for provider in providers {
 32 |                 group.addTask {
    |                               `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 33 |                     try await provider.initialize(initialContext: initialContext)
    |                               |                                   `- note: closure captures non-Sendable 'initialContext'
    |                               `- note: closure captures non-Sendable 'provider'
 34 |                 }
 35 |             }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/Provider/MultiProvider/MultiProvider.swift:43:31: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 41 |         try await withThrowingTaskGroup(of: Void.self) { group in
 42 |             for provider in providers {
 43 |                 group.addTask {
    |                               `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 44 |                     try await provider.onContextSet(oldContext: oldContext, newContext: newContext)
    |                               |                                 |                       `- note: closure captures non-Sendable 'newContext'
    |                               |                                 `- note: closure captures non-Sendable 'oldContext'
    |                               `- note: closure captures non-Sendable 'provider'
 45 |                 }
 46 |             }
[31/44] Compiling OpenFeature Strategy.swift
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/Provider/MultiProvider/MultiProvider.swift:32:31: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 30 |         try await withThrowingTaskGroup(of: Void.self) { group in
 31 |             for provider in providers {
 32 |                 group.addTask {
    |                               `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 33 |                     try await provider.initialize(initialContext: initialContext)
    |                               |                                   `- note: closure captures non-Sendable 'initialContext'
    |                               `- note: closure captures non-Sendable 'provider'
 34 |                 }
 35 |             }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/Provider/MultiProvider/MultiProvider.swift:43:31: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 41 |         try await withThrowingTaskGroup(of: Void.self) { group in
 42 |             for provider in providers {
 43 |                 group.addTask {
    |                               `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 44 |                     try await provider.onContextSet(oldContext: oldContext, newContext: newContext)
    |                               |                                 |                       `- note: closure captures non-Sendable 'newContext'
    |                               |                                 `- note: closure captures non-Sendable 'oldContext'
    |                               `- note: closure captures non-Sendable 'provider'
 45 |                 }
 46 |             }
[32/44] Compiling OpenFeature NoOpProvider.swift
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/Provider/MultiProvider/MultiProvider.swift:32:31: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 30 |         try await withThrowingTaskGroup(of: Void.self) { group in
 31 |             for provider in providers {
 32 |                 group.addTask {
    |                               `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 33 |                     try await provider.initialize(initialContext: initialContext)
    |                               |                                   `- note: closure captures non-Sendable 'initialContext'
    |                               `- note: closure captures non-Sendable 'provider'
 34 |                 }
 35 |             }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/Provider/MultiProvider/MultiProvider.swift:43:31: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 41 |         try await withThrowingTaskGroup(of: Void.self) { group in
 42 |             for provider in providers {
 43 |                 group.addTask {
    |                               `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 44 |                     try await provider.onContextSet(oldContext: oldContext, newContext: newContext)
    |                               |                                 |                       `- note: closure captures non-Sendable 'newContext'
    |                               |                                 `- note: closure captures non-Sendable 'oldContext'
    |                               `- note: closure captures non-Sendable 'provider'
 45 |                 }
 46 |             }
[33/44] Compiling OpenFeature ProviderStatus.swift
[34/44] Compiling OpenFeature Reason.swift
[35/44] Compiling OpenFeature Structure.swift
[36/44] Compiling OpenFeature Tracking.swift
[37/44] Compiling OpenFeature OpenFeatureAPI.swift
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:19:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OpenFeatureAPI' may have shared mutable state; this is an error in the Swift 6 language mode
  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
    :
 17 |
 18 |     /// The ``OpenFeatureAPI`` singleton
 19 |     static public let shared = OpenFeatureAPI()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OpenFeatureAPI' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 20 |
 21 |     public init() {}
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:79:13: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  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
    :
 77 |     private func clearProviderInternal() async {
 78 |         await unifiedQueue.run(lastWins: false) { [self] in
 79 |             stateQueue.sync {
    |             `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 80 |                 self.providerSubject.send(nil)
 81 |                 self.providerStatus = .notReady
/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:173:13: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  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
    :
171 |         await unifiedQueue.run(lastWins: false) { [self] in
172 |             // Set initial state atomically
173 |             stateQueue.sync {
    |             `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a '@Sendable' closure; this is an error in the Swift 6 language mode
174 |                 self.providerStatus = .notReady
175 |                 self.providerSubject.send(provider)
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:175:43: warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in a '@Sendable' closure; this is an error in the Swift 6 language mode
173 |             stateQueue.sync {
174 |                 self.providerStatus = .notReady
175 |                 self.providerSubject.send(provider)
    |                                           `- warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in a '@Sendable' closure; this is an error in the Swift 6 language mode
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 a '@Sendable' closure; this is an error in the Swift 6 language mode
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 a '@Sendable' closure; this is an error in the Swift 6 language mode
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: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:210:42: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  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
    :
208 |         await unifiedQueue.run(lastWins: true) { [self] in
209 |             // Get old context, set new context, and update status atomically
210 |             let (oldContext, provider) = stateQueue.sync { () -> (EvaluationContext?, FeatureProvider?) in
    |                                          `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a '@Sendable' closure; this is an error in the Swift 6 language mode
211 |                 let oldContext = self.evaluationContext
212 |                 self.evaluationContext = evaluationContext
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:212:42: warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in a '@Sendable' closure; this is an error in the Swift 6 language mode
210 |             let (oldContext, provider) = stateQueue.sync { () -> (EvaluationContext?, FeatureProvider?) in
211 |                 let oldContext = self.evaluationContext
212 |                 self.evaluationContext = evaluationContext
    |                                          `- warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in a '@Sendable' closure; this is an error in the Swift 6 language mode
213 |
214 |                 // Only update status if provider is set
/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:211:34: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure; this is an error in the Swift 6 language mode
  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
    :
209 |             // Get old context, set new context, and update status atomically
210 |             let (oldContext, provider) = stateQueue.sync { () -> (EvaluationContext?, FeatureProvider?) in
211 |                 let oldContext = self.evaluationContext
    |                                  `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure; this is an error in the Swift 6 language mode
212 |                 self.evaluationContext = evaluationContext
213 |
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:212:42: warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in an isolated closure; this is an error in the Swift 6 language mode
210 |             let (oldContext, provider) = stateQueue.sync { () -> (EvaluationContext?, FeatureProvider?) in
211 |                 let oldContext = self.evaluationContext
212 |                 self.evaluationContext = evaluationContext
    |                                          `- warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in an isolated closure; this is an error in the Swift 6 language mode
213 |
214 |                 // Only update status if provider is set
/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: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)))
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:28:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 26 |     */
 27 |     public func setProvider(provider: FeatureProvider, initialContext: EvaluationContext?) {
 28 |         Task {
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 29 |             await self.setProviderInternal(provider: provider, initialContext: initialContext)
    |                   `- note: closure captures 'self' which is accessible to code in the current task
 30 |         }
 31 |     }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:64:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 62 |
 63 |     public func clearProvider() {
 64 |         Task {
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 65 |             await clearProviderInternal()
    |                   `- note: closure captures 'self' which is accessible to code in the current task
 66 |         }
 67 |     }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:91:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 89 |     */
 90 |     public func setEvaluationContext(evaluationContext: EvaluationContext) {
 91 |         Task {
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 92 |             await self.updateContext(evaluationContext: evaluationContext)
    |                   `- note: closure captures 'self' which is accessible to code in the current task
 93 |         }
 94 |     }
[38/44] Compiling OpenFeature OpenFeatureClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:19:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OpenFeatureAPI' may have shared mutable state; this is an error in the Swift 6 language mode
  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
    :
 17 |
 18 |     /// The ``OpenFeatureAPI`` singleton
 19 |     static public let shared = OpenFeatureAPI()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OpenFeatureAPI' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 20 |
 21 |     public init() {}
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:79:13: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  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
    :
 77 |     private func clearProviderInternal() async {
 78 |         await unifiedQueue.run(lastWins: false) { [self] in
 79 |             stateQueue.sync {
    |             `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 80 |                 self.providerSubject.send(nil)
 81 |                 self.providerStatus = .notReady
/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:173:13: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  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
    :
171 |         await unifiedQueue.run(lastWins: false) { [self] in
172 |             // Set initial state atomically
173 |             stateQueue.sync {
    |             `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a '@Sendable' closure; this is an error in the Swift 6 language mode
174 |                 self.providerStatus = .notReady
175 |                 self.providerSubject.send(provider)
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:175:43: warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in a '@Sendable' closure; this is an error in the Swift 6 language mode
173 |             stateQueue.sync {
174 |                 self.providerStatus = .notReady
175 |                 self.providerSubject.send(provider)
    |                                           `- warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in a '@Sendable' closure; this is an error in the Swift 6 language mode
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 a '@Sendable' closure; this is an error in the Swift 6 language mode
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 a '@Sendable' closure; this is an error in the Swift 6 language mode
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: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:210:42: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  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
    :
208 |         await unifiedQueue.run(lastWins: true) { [self] in
209 |             // Get old context, set new context, and update status atomically
210 |             let (oldContext, provider) = stateQueue.sync { () -> (EvaluationContext?, FeatureProvider?) in
    |                                          `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a '@Sendable' closure; this is an error in the Swift 6 language mode
211 |                 let oldContext = self.evaluationContext
212 |                 self.evaluationContext = evaluationContext
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:212:42: warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in a '@Sendable' closure; this is an error in the Swift 6 language mode
210 |             let (oldContext, provider) = stateQueue.sync { () -> (EvaluationContext?, FeatureProvider?) in
211 |                 let oldContext = self.evaluationContext
212 |                 self.evaluationContext = evaluationContext
    |                                          `- warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in a '@Sendable' closure; this is an error in the Swift 6 language mode
213 |
214 |                 // Only update status if provider is set
/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:211:34: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure; this is an error in the Swift 6 language mode
  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
    :
209 |             // Get old context, set new context, and update status atomically
210 |             let (oldContext, provider) = stateQueue.sync { () -> (EvaluationContext?, FeatureProvider?) in
211 |                 let oldContext = self.evaluationContext
    |                                  `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure; this is an error in the Swift 6 language mode
212 |                 self.evaluationContext = evaluationContext
213 |
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:212:42: warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in an isolated closure; this is an error in the Swift 6 language mode
210 |             let (oldContext, provider) = stateQueue.sync { () -> (EvaluationContext?, FeatureProvider?) in
211 |                 let oldContext = self.evaluationContext
212 |                 self.evaluationContext = evaluationContext
    |                                          `- warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in an isolated closure; this is an error in the Swift 6 language mode
213 |
214 |                 // Only update status if provider is set
/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: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)))
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:28:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 26 |     */
 27 |     public func setProvider(provider: FeatureProvider, initialContext: EvaluationContext?) {
 28 |         Task {
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 29 |             await self.setProviderInternal(provider: provider, initialContext: initialContext)
    |                   `- note: closure captures 'self' which is accessible to code in the current task
 30 |         }
 31 |     }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:64:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 62 |
 63 |     public func clearProvider() {
 64 |         Task {
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 65 |             await clearProviderInternal()
    |                   `- note: closure captures 'self' which is accessible to code in the current task
 66 |         }
 67 |     }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:91:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 89 |     */
 90 |     public func setEvaluationContext(evaluationContext: EvaluationContext) {
 91 |         Task {
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 92 |             await self.updateContext(evaluationContext: evaluationContext)
    |                   `- note: closure captures 'self' which is accessible to code in the current task
 93 |         }
 94 |     }
[39/44] Compiling OpenFeature FeatureProvider.swift
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:19:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OpenFeatureAPI' may have shared mutable state; this is an error in the Swift 6 language mode
  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
    :
 17 |
 18 |     /// The ``OpenFeatureAPI`` singleton
 19 |     static public let shared = OpenFeatureAPI()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OpenFeatureAPI' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 20 |
 21 |     public init() {}
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:79:13: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  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
    :
 77 |     private func clearProviderInternal() async {
 78 |         await unifiedQueue.run(lastWins: false) { [self] in
 79 |             stateQueue.sync {
    |             `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 80 |                 self.providerSubject.send(nil)
 81 |                 self.providerStatus = .notReady
/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:173:13: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  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
    :
171 |         await unifiedQueue.run(lastWins: false) { [self] in
172 |             // Set initial state atomically
173 |             stateQueue.sync {
    |             `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a '@Sendable' closure; this is an error in the Swift 6 language mode
174 |                 self.providerStatus = .notReady
175 |                 self.providerSubject.send(provider)
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:175:43: warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in a '@Sendable' closure; this is an error in the Swift 6 language mode
173 |             stateQueue.sync {
174 |                 self.providerStatus = .notReady
175 |                 self.providerSubject.send(provider)
    |                                           `- warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in a '@Sendable' closure; this is an error in the Swift 6 language mode
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 a '@Sendable' closure; this is an error in the Swift 6 language mode
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 a '@Sendable' closure; this is an error in the Swift 6 language mode
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: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:210:42: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  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
    :
208 |         await unifiedQueue.run(lastWins: true) { [self] in
209 |             // Get old context, set new context, and update status atomically
210 |             let (oldContext, provider) = stateQueue.sync { () -> (EvaluationContext?, FeatureProvider?) in
    |                                          `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a '@Sendable' closure; this is an error in the Swift 6 language mode
211 |                 let oldContext = self.evaluationContext
212 |                 self.evaluationContext = evaluationContext
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:212:42: warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in a '@Sendable' closure; this is an error in the Swift 6 language mode
210 |             let (oldContext, provider) = stateQueue.sync { () -> (EvaluationContext?, FeatureProvider?) in
211 |                 let oldContext = self.evaluationContext
212 |                 self.evaluationContext = evaluationContext
    |                                          `- warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in a '@Sendable' closure; this is an error in the Swift 6 language mode
213 |
214 |                 // Only update status if provider is set
/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:211:34: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure; this is an error in the Swift 6 language mode
  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
    :
209 |             // Get old context, set new context, and update status atomically
210 |             let (oldContext, provider) = stateQueue.sync { () -> (EvaluationContext?, FeatureProvider?) in
211 |                 let oldContext = self.evaluationContext
    |                                  `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure; this is an error in the Swift 6 language mode
212 |                 self.evaluationContext = evaluationContext
213 |
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:212:42: warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in an isolated closure; this is an error in the Swift 6 language mode
210 |             let (oldContext, provider) = stateQueue.sync { () -> (EvaluationContext?, FeatureProvider?) in
211 |                 let oldContext = self.evaluationContext
212 |                 self.evaluationContext = evaluationContext
    |                                          `- warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in an isolated closure; this is an error in the Swift 6 language mode
213 |
214 |                 // Only update status if provider is set
/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: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)))
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:28:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 26 |     */
 27 |     public func setProvider(provider: FeatureProvider, initialContext: EvaluationContext?) {
 28 |         Task {
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 29 |             await self.setProviderInternal(provider: provider, initialContext: initialContext)
    |                   `- note: closure captures 'self' which is accessible to code in the current task
 30 |         }
 31 |     }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:64:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 62 |
 63 |     public func clearProvider() {
 64 |         Task {
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 65 |             await clearProviderInternal()
    |                   `- note: closure captures 'self' which is accessible to code in the current task
 66 |         }
 67 |     }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:91:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 89 |     */
 90 |     public func setEvaluationContext(evaluationContext: EvaluationContext) {
 91 |         Task {
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 92 |             await self.updateContext(evaluationContext: evaluationContext)
    |                   `- note: closure captures 'self' which is accessible to code in the current task
 93 |         }
 94 |     }
[40/44] Compiling OpenFeature FirstMatchStrategy.swift
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:19:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OpenFeatureAPI' may have shared mutable state; this is an error in the Swift 6 language mode
  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
    :
 17 |
 18 |     /// The ``OpenFeatureAPI`` singleton
 19 |     static public let shared = OpenFeatureAPI()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OpenFeatureAPI' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 20 |
 21 |     public init() {}
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:79:13: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  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
    :
 77 |     private func clearProviderInternal() async {
 78 |         await unifiedQueue.run(lastWins: false) { [self] in
 79 |             stateQueue.sync {
    |             `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 80 |                 self.providerSubject.send(nil)
 81 |                 self.providerStatus = .notReady
/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:173:13: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  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
    :
171 |         await unifiedQueue.run(lastWins: false) { [self] in
172 |             // Set initial state atomically
173 |             stateQueue.sync {
    |             `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a '@Sendable' closure; this is an error in the Swift 6 language mode
174 |                 self.providerStatus = .notReady
175 |                 self.providerSubject.send(provider)
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:175:43: warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in a '@Sendable' closure; this is an error in the Swift 6 language mode
173 |             stateQueue.sync {
174 |                 self.providerStatus = .notReady
175 |                 self.providerSubject.send(provider)
    |                                           `- warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in a '@Sendable' closure; this is an error in the Swift 6 language mode
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 a '@Sendable' closure; this is an error in the Swift 6 language mode
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 a '@Sendable' closure; this is an error in the Swift 6 language mode
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: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:210:42: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  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
    :
208 |         await unifiedQueue.run(lastWins: true) { [self] in
209 |             // Get old context, set new context, and update status atomically
210 |             let (oldContext, provider) = stateQueue.sync { () -> (EvaluationContext?, FeatureProvider?) in
    |                                          `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a '@Sendable' closure; this is an error in the Swift 6 language mode
211 |                 let oldContext = self.evaluationContext
212 |                 self.evaluationContext = evaluationContext
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:212:42: warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in a '@Sendable' closure; this is an error in the Swift 6 language mode
210 |             let (oldContext, provider) = stateQueue.sync { () -> (EvaluationContext?, FeatureProvider?) in
211 |                 let oldContext = self.evaluationContext
212 |                 self.evaluationContext = evaluationContext
    |                                          `- warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in a '@Sendable' closure; this is an error in the Swift 6 language mode
213 |
214 |                 // Only update status if provider is set
/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:211:34: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure; this is an error in the Swift 6 language mode
  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
    :
209 |             // Get old context, set new context, and update status atomically
210 |             let (oldContext, provider) = stateQueue.sync { () -> (EvaluationContext?, FeatureProvider?) in
211 |                 let oldContext = self.evaluationContext
    |                                  `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure; this is an error in the Swift 6 language mode
212 |                 self.evaluationContext = evaluationContext
213 |
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:212:42: warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in an isolated closure; this is an error in the Swift 6 language mode
210 |             let (oldContext, provider) = stateQueue.sync { () -> (EvaluationContext?, FeatureProvider?) in
211 |                 let oldContext = self.evaluationContext
212 |                 self.evaluationContext = evaluationContext
    |                                          `- warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in an isolated closure; this is an error in the Swift 6 language mode
213 |
214 |                 // Only update status if provider is set
/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: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)))
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:28:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 26 |     */
 27 |     public func setProvider(provider: FeatureProvider, initialContext: EvaluationContext?) {
 28 |         Task {
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 29 |             await self.setProviderInternal(provider: provider, initialContext: initialContext)
    |                   `- note: closure captures 'self' which is accessible to code in the current task
 30 |         }
 31 |     }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:64:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 62 |
 63 |     public func clearProvider() {
 64 |         Task {
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 65 |             await clearProviderInternal()
    |                   `- note: closure captures 'self' which is accessible to code in the current task
 66 |         }
 67 |     }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:91:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 89 |     */
 90 |     public func setEvaluationContext(evaluationContext: EvaluationContext) {
 91 |         Task {
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 92 |             await self.updateContext(evaluationContext: evaluationContext)
    |                   `- note: closure captures 'self' which is accessible to code in the current task
 93 |         }
 94 |     }
[41/44] Compiling OpenFeature Hook.swift
[42/44] Compiling OpenFeature HookContext.swift
[43/44] Compiling OpenFeature HookSupport.swift
[44/44] Compiling OpenFeature ImmutableContext.swift
Build complete! (4.69s)
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.