The Swift Package Index logo.Swift Package Index

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

Build Information

Successful build of OpenFeature, reference 0.5.0 (d71686), with Swift 6.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.