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 Flow, reference 1.13.0 (b452ec), with Swift 6.1 for macOS (SPM) on 30 Apr 2025 13:51:43 UTC.

Swift 6 data race errors: 20

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

52 | }
53 |
54 | private var trackerKey = false
   |             |- warning: var 'trackerKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'trackerKey' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make var 'trackerKey' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
55 |
/Users/admin/builder/spi-builder-workspace/Flow/Utilities.swift:20:13: warning: var 'nextKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
18 |
19 | typealias Key = UInt64
20 | private var nextKey: Key = 0
   |             |- warning: var 'nextKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'nextKey' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make var 'nextKey' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
21 | private var nextRawKeyMutex = pthread_mutex_t()
22 | private var nextKeyMutex: PThreadMutex = {
/Users/admin/builder/spi-builder-workspace/Flow/Utilities.swift:21:13: warning: var 'nextRawKeyMutex' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 | typealias Key = UInt64
20 | private var nextKey: Key = 0
21 | private var nextRawKeyMutex = pthread_mutex_t()
   |             |- warning: var 'nextRawKeyMutex' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'nextRawKeyMutex' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make var 'nextRawKeyMutex' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | private var nextKeyMutex: PThreadMutex = {
23 |     let mutex = PThreadMutex(&nextRawKeyMutex)
/Users/admin/builder/spi-builder-workspace/Flow/Utilities.swift:22:13: warning: var 'nextKeyMutex' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
20 | private var nextKey: Key = 0
21 | private var nextRawKeyMutex = pthread_mutex_t()
22 | private var nextKeyMutex: PThreadMutex = {
   |             |- warning: var 'nextKeyMutex' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'nextKeyMutex' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make var 'nextKeyMutex' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 |     let mutex = PThreadMutex(&nextRawKeyMutex)
24 |     mutex.initialize()
[4/46] Compiling Flow UIControls+Extensions.swift
/Users/admin/builder/spi-builder-workspace/Flow/Utilities.swift:20:13: warning: var 'nextKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
18 |
19 | typealias Key = UInt64
20 | private var nextKey: Key = 0
   |             |- warning: var 'nextKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'nextKey' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make var 'nextKey' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
21 | private var nextRawKeyMutex = pthread_mutex_t()
22 | private var nextKeyMutex: PThreadMutex = {
/Users/admin/builder/spi-builder-workspace/Flow/Utilities.swift:21:13: warning: var 'nextRawKeyMutex' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 | typealias Key = UInt64
20 | private var nextKey: Key = 0
21 | private var nextRawKeyMutex = pthread_mutex_t()
   |             |- warning: var 'nextRawKeyMutex' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'nextRawKeyMutex' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make var 'nextRawKeyMutex' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | private var nextKeyMutex: PThreadMutex = {
23 |     let mutex = PThreadMutex(&nextRawKeyMutex)
/Users/admin/builder/spi-builder-workspace/Flow/Utilities.swift:22:13: warning: var 'nextKeyMutex' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
20 | private var nextKey: Key = 0
21 | private var nextRawKeyMutex = pthread_mutex_t()
22 | private var nextKeyMutex: PThreadMutex = {
   |             |- warning: var 'nextKeyMutex' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'nextKeyMutex' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make var 'nextKeyMutex' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 |     let mutex = PThreadMutex(&nextRawKeyMutex)
24 |     mutex.initialize()
[5/46] Compiling Flow UIView+EditingMenu.swift
/Users/admin/builder/spi-builder-workspace/Flow/Utilities.swift:20:13: warning: var 'nextKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
18 |
19 | typealias Key = UInt64
20 | private var nextKey: Key = 0
   |             |- warning: var 'nextKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'nextKey' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make var 'nextKey' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
21 | private var nextRawKeyMutex = pthread_mutex_t()
22 | private var nextKeyMutex: PThreadMutex = {
/Users/admin/builder/spi-builder-workspace/Flow/Utilities.swift:21:13: warning: var 'nextRawKeyMutex' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 | typealias Key = UInt64
20 | private var nextKey: Key = 0
21 | private var nextRawKeyMutex = pthread_mutex_t()
   |             |- warning: var 'nextRawKeyMutex' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'nextRawKeyMutex' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make var 'nextRawKeyMutex' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | private var nextKeyMutex: PThreadMutex = {
23 |     let mutex = PThreadMutex(&nextRawKeyMutex)
/Users/admin/builder/spi-builder-workspace/Flow/Utilities.swift:22:13: warning: var 'nextKeyMutex' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
20 | private var nextKey: Key = 0
21 | private var nextRawKeyMutex = pthread_mutex_t()
22 | private var nextKeyMutex: PThreadMutex = {
   |             |- warning: var 'nextKeyMutex' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'nextKeyMutex' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make var 'nextKeyMutex' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 |     let mutex = PThreadMutex(&nextRawKeyMutex)
24 |     mutex.initialize()
[6/46] Compiling Flow UIView+Signal.swift
/Users/admin/builder/spi-builder-workspace/Flow/Utilities.swift:20:13: warning: var 'nextKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
18 |
19 | typealias Key = UInt64
20 | private var nextKey: Key = 0
   |             |- warning: var 'nextKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'nextKey' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make var 'nextKey' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
21 | private var nextRawKeyMutex = pthread_mutex_t()
22 | private var nextKeyMutex: PThreadMutex = {
/Users/admin/builder/spi-builder-workspace/Flow/Utilities.swift:21:13: warning: var 'nextRawKeyMutex' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 | typealias Key = UInt64
20 | private var nextKey: Key = 0
21 | private var nextRawKeyMutex = pthread_mutex_t()
   |             |- warning: var 'nextRawKeyMutex' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'nextRawKeyMutex' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make var 'nextRawKeyMutex' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | private var nextKeyMutex: PThreadMutex = {
23 |     let mutex = PThreadMutex(&nextRawKeyMutex)
/Users/admin/builder/spi-builder-workspace/Flow/Utilities.swift:22:13: warning: var 'nextKeyMutex' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
20 | private var nextKey: Key = 0
21 | private var nextRawKeyMutex = pthread_mutex_t()
22 | private var nextKeyMutex: PThreadMutex = {
   |             |- warning: var 'nextKeyMutex' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'nextKeyMutex' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make var 'nextKeyMutex' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 |     let mutex = PThreadMutex(&nextRawKeyMutex)
24 |     mutex.initialize()
[7/46] Compiling Flow Utilities.swift
/Users/admin/builder/spi-builder-workspace/Flow/Utilities.swift:20:13: warning: var 'nextKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
18 |
19 | typealias Key = UInt64
20 | private var nextKey: Key = 0
   |             |- warning: var 'nextKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'nextKey' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make var 'nextKey' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
21 | private var nextRawKeyMutex = pthread_mutex_t()
22 | private var nextKeyMutex: PThreadMutex = {
/Users/admin/builder/spi-builder-workspace/Flow/Utilities.swift:21:13: warning: var 'nextRawKeyMutex' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 | typealias Key = UInt64
20 | private var nextKey: Key = 0
21 | private var nextRawKeyMutex = pthread_mutex_t()
   |             |- warning: var 'nextRawKeyMutex' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'nextRawKeyMutex' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make var 'nextRawKeyMutex' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | private var nextKeyMutex: PThreadMutex = {
23 |     let mutex = PThreadMutex(&nextRawKeyMutex)
/Users/admin/builder/spi-builder-workspace/Flow/Utilities.swift:22:13: warning: var 'nextKeyMutex' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
20 | private var nextKey: Key = 0
21 | private var nextRawKeyMutex = pthread_mutex_t()
22 | private var nextKeyMutex: PThreadMutex = {
   |             |- warning: var 'nextKeyMutex' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'nextKeyMutex' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make var 'nextKeyMutex' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 |     let mutex = PThreadMutex(&nextRawKeyMutex)
24 |     mutex.initialize()
[8/46] Compiling Flow CancelBag.swift
/Users/admin/builder/spi-builder-workspace/Flow/Bridges/CancelBag.swift:19:1: warning: extension declares a conformance of imported type 'Set' to imported protocol 'Cancellable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
17 |
18 | @available(iOS 13.0, macOS 10.15, *)
19 | extension CancelBag: Cancellable {
   | |- warning: extension declares a conformance of imported type 'Set' to imported protocol 'Cancellable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
20 |     /// Cancel all elements in the set.
21 |     public func cancel() {
[9/46] Compiling Flow Disposable+Cancellable.swift
/Users/admin/builder/spi-builder-workspace/Flow/Bridges/CancelBag.swift:19:1: warning: extension declares a conformance of imported type 'Set' to imported protocol 'Cancellable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
17 |
18 | @available(iOS 13.0, macOS 10.15, *)
19 | extension CancelBag: Cancellable {
   | |- warning: extension declares a conformance of imported type 'Set' to imported protocol 'Cancellable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
20 |     /// Cancel all elements in the set.
21 |     public func cancel() {
[10/46] Compiling Flow Future+Combine.swift
/Users/admin/builder/spi-builder-workspace/Flow/Bridges/CancelBag.swift:19:1: warning: extension declares a conformance of imported type 'Set' to imported protocol 'Cancellable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
17 |
18 | @available(iOS 13.0, macOS 10.15, *)
19 | extension CancelBag: Cancellable {
   | |- warning: extension declares a conformance of imported type 'Set' to imported protocol 'Cancellable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
20 |     /// Cancel all elements in the set.
21 |     public func cancel() {
[11/46] Compiling Flow Publisher+Utilities.swift
/Users/admin/builder/spi-builder-workspace/Flow/Bridges/CancelBag.swift:19:1: warning: extension declares a conformance of imported type 'Set' to imported protocol 'Cancellable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
17 |
18 | @available(iOS 13.0, macOS 10.15, *)
19 | extension CancelBag: Cancellable {
   | |- warning: extension declares a conformance of imported type 'Set' to imported protocol 'Cancellable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
20 |     /// Cancel all elements in the set.
21 |     public func cancel() {
[12/46] Compiling Flow Signal+Combine.swift
/Users/admin/builder/spi-builder-workspace/Flow/Bridges/CancelBag.swift:19:1: warning: extension declares a conformance of imported type 'Set' to imported protocol 'Cancellable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
17 |
18 | @available(iOS 13.0, macOS 10.15, *)
19 | extension CancelBag: Cancellable {
   | |- warning: extension declares a conformance of imported type 'Set' to imported protocol 'Cancellable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
20 |     /// Cancel all elements in the set.
21 |     public func cancel() {
[13/46] Compiling Flow Either.swift
/Users/admin/builder/spi-builder-workspace/Flow/Enablable.swift:64:13: warning: var 'enablesAutomaticallyKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
62 | }
63 |
64 | private var enablesAutomaticallyKey = false
   |             |- warning: var 'enablesAutomaticallyKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'enablesAutomaticallyKey' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make var 'enablesAutomaticallyKey' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
65 |
[14/46] Compiling Flow Enablable.swift
/Users/admin/builder/spi-builder-workspace/Flow/Enablable.swift:64:13: warning: var 'enablesAutomaticallyKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
62 | }
63 |
64 | private var enablesAutomaticallyKey = false
   |             |- warning: var 'enablesAutomaticallyKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'enablesAutomaticallyKey' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make var 'enablesAutomaticallyKey' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
65 |
[15/46] Compiling Flow Event.swift
/Users/admin/builder/spi-builder-workspace/Flow/Enablable.swift:64:13: warning: var 'enablesAutomaticallyKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
62 | }
63 |
64 | private var enablesAutomaticallyKey = false
   |             |- warning: var 'enablesAutomaticallyKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'enablesAutomaticallyKey' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make var 'enablesAutomaticallyKey' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
65 |
[16/46] Compiling Flow EventType.swift
/Users/admin/builder/spi-builder-workspace/Flow/Enablable.swift:64:13: warning: var 'enablesAutomaticallyKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
62 | }
63 |
64 | private var enablesAutomaticallyKey = false
   |             |- warning: var 'enablesAutomaticallyKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'enablesAutomaticallyKey' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make var 'enablesAutomaticallyKey' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
65 |
[17/46] Compiling Flow FiniteSignal.swift
/Users/admin/builder/spi-builder-workspace/Flow/Enablable.swift:64:13: warning: var 'enablesAutomaticallyKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
62 | }
63 |
64 | private var enablesAutomaticallyKey = false
   |             |- warning: var 'enablesAutomaticallyKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'enablesAutomaticallyKey' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make var 'enablesAutomaticallyKey' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
65 |
[18/46] Compiling Flow Scheduler.swift
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:113:16: warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'Scheduler' may have shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 | /// Encapsulates how to asynchronously and synchronously scheduler work and allows comparing if two instances are representing the same scheduler.
 12 | public final class Scheduler {
    |                    `- note: class 'Scheduler' does not conform to the 'Sendable' protocol
 13 |     private let identifyingObject: AnyObject
 14 |     private let _async: (@escaping () -> Void) -> Void
    :
111 |
112 |     /// A Scheduler that won't schedule any work and hence just call work() immediatly
113 |     static let none = Scheduler(identifyingObject: 0 as AnyObject, async: { _ in fatalError() }, sync: { _ in fatalError() })
    |                |- warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'Scheduler' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'none' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
114 |
115 |     /// A Scheduler that will schedule work on `DispatchQueue.main``
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:116:16: warning: static property 'main' is not concurrency-safe because non-'Sendable' type 'Scheduler' may have shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 | /// Encapsulates how to asynchronously and synchronously scheduler work and allows comparing if two instances are representing the same scheduler.
 12 | public final class Scheduler {
    |                    `- note: class 'Scheduler' does not conform to the 'Sendable' protocol
 13 |     private let identifyingObject: AnyObject
 14 |     private let _async: (@escaping () -> Void) -> Void
    :
114 |
115 |     /// A Scheduler that will schedule work on `DispatchQueue.main``
116 |     static let main = Scheduler(queue: .main)
    |                |- warning: static property 'main' is not concurrency-safe because non-'Sendable' type 'Scheduler' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'main' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
117 |
118 |     /// A Scheduler that will schedule work on a serial background queue
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:119:16: warning: static property 'background' is not concurrency-safe because non-'Sendable' type 'Scheduler' may have shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 | /// Encapsulates how to asynchronously and synchronously scheduler work and allows comparing if two instances are representing the same scheduler.
 12 | public final class Scheduler {
    |                    `- note: class 'Scheduler' does not conform to the 'Sendable' protocol
 13 |     private let identifyingObject: AnyObject
 14 |     private let _async: (@escaping () -> Void) -> Void
    :
117 |
118 |     /// A Scheduler that will schedule work on a serial background queue
119 |     static let background = Scheduler(label: "flow.background.serial")
    |                |- warning: static property 'background' is not concurrency-safe because non-'Sendable' type 'Scheduler' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'background' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
120 |
121 |     /// A Scheduler that will schedule work on a concurrent background queue
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:122:16: warning: static property 'concurrentBackground' is not concurrency-safe because non-'Sendable' type 'Scheduler' may have shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 | /// Encapsulates how to asynchronously and synchronously scheduler work and allows comparing if two instances are representing the same scheduler.
 12 | public final class Scheduler {
    |                    `- note: class 'Scheduler' does not conform to the 'Sendable' protocol
 13 |     private let identifyingObject: AnyObject
 14 |     private let _async: (@escaping () -> Void) -> Void
    :
120 |
121 |     /// A Scheduler that will schedule work on a concurrent background queue
122 |     static let concurrentBackground = Scheduler(label: "flow.background.concurrent", attributes: .concurrent)
    |                |- warning: static property 'concurrentBackground' is not concurrency-safe because non-'Sendable' type 'Scheduler' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'concurrentBackground' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
123 | }
124 |
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:159:13: warning: var '_disposableAsync' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
157 | }
158 |
159 | private var _disposableAsync: (_ delay: TimeInterval, _ work: @escaping () -> ()) -> Disposable = Scheduler.concurrentBackground.disposableAsync
    |             |- warning: var '_disposableAsync' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert '_disposableAsync' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var '_disposableAsync' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
160 |
161 | /// Useful for overriding `disposableAsync` in unit test with simulatated delays
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:214:13: warning: let 'mainThreadState' is not concurrency-safe because non-'Sendable' type 'ThreadState' may have shared mutable state; this is an error in the Swift 6 language mode
196 | }
197 |
198 | final class ThreadState {
    |             `- note: class 'ThreadState' does not conform to the 'Sendable' protocol
199 |     var scheduler: Scheduler?
200 |     var syncScheduler: Scheduler?
    :
212 | }
213 |
214 | private let mainThreadState = ThreadState()
    |             |- warning: let 'mainThreadState' is not concurrency-safe because non-'Sendable' type 'ThreadState' may have shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: add '@MainActor' to make let 'mainThreadState' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
215 | private var _threadStateKey: pthread_key_t = 0
216 | private var threadStateKey: pthread_key_t = {
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:215:13: warning: var '_threadStateKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
213 |
214 | private let mainThreadState = ThreadState()
215 | private var _threadStateKey: pthread_key_t = 0
    |             |- warning: var '_threadStateKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert '_threadStateKey' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var '_threadStateKey' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
216 | private var threadStateKey: pthread_key_t = {
217 |     let cleanup: @convention(c) (UnsafeMutableRawPointer) -> Void = { state in
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:216:13: warning: var 'threadStateKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
214 | private let mainThreadState = ThreadState()
215 | private var _threadStateKey: pthread_key_t = 0
216 | private var threadStateKey: pthread_key_t = {
    |             |- warning: var 'threadStateKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'threadStateKey' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'threadStateKey' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
217 |     let cleanup: @convention(c) (UnsafeMutableRawPointer) -> Void = { state in
218 |         Unmanaged<ThreadState>.fromOpaque(state).release()
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:82:13: warning: capture of 'self' with non-sendable type 'Scheduler' in a '@Sendable' closure
 10 |
 11 | /// Encapsulates how to asynchronously and synchronously scheduler work and allows comparing if two instances are representing the same scheduler.
 12 | public final class Scheduler {
    |                    `- note: class 'Scheduler' does not conform to the 'Sendable' protocol
 13 |     private let identifyingObject: AnyObject
 14 |     private let _async: (@escaping () -> Void) -> Void
    :
 80 |     func async(after delay: TimeInterval, execute work: @escaping () -> ()) {
 81 |         return DispatchQueue.concurrentBackground.asyncAfter(deadline: DispatchTime.now() + delay) {
 82 |             self.async(execute: work)
    |             `- warning: capture of 'self' with non-sendable type 'Scheduler' in a '@Sendable' closure
 83 |         }
 84 |     }
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:82:33: warning: capture of 'work' with non-sendable type '() -> ()' in a '@Sendable' closure
 80 |     func async(after delay: TimeInterval, execute work: @escaping () -> ()) {
 81 |         return DispatchQueue.concurrentBackground.asyncAfter(deadline: DispatchTime.now() + delay) {
 82 |             self.async(execute: work)
    |                                 |- warning: capture of 'work' with non-sendable type '() -> ()' in a '@Sendable' closure
    |                                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 83 |         }
 84 |     }
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:128:75: warning: passing non-sendable parameter '$0' to function expecting a @Sendable closure
126 |     /// Create a new instance that will schedule its work on the provided `queue`
127 |     convenience init(queue: DispatchQueue) {
128 |         self.init(identifyingObject: queue, async: { queue.async(execute: $0) }, sync: queue.sync)
    |                                                    |                      `- warning: passing non-sendable parameter '$0' to function expecting a @Sendable closure
    |                                                    `- note: parameter '$0' is implicitly non-sendable
129 |     }
130 |
/Users/admin/builder/spi-builder-workspace/Flow/Signal+Construction.swift:28:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SignalOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 | /// Options used to customize the behaviours of constructed signals.
 12 | public struct SignalOptions: OptionSet {
    |               `- note: consider making struct 'SignalOptions' conform to the 'Sendable' protocol
 13 |     public let rawValue: Int
 14 |     public init(rawValue: Int) {
    :
 26 |     /// Shared signals are useful when the work performed when registering a callback is relatively expensive.
 27 |     /// If the work performed when registering a callback is trivial, it might be more efficient to not setup the signal to be shared.
 28 |     static let shared = SignalOptions(rawValue: 1<<0)
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SignalOptions' 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
 29 |
 30 |     /// Defaults to `[ .shared ]`
/Users/admin/builder/spi-builder-workspace/Flow/Signal+Construction.swift:31:16: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'SignalOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 | /// Options used to customize the behaviours of constructed signals.
 12 | public struct SignalOptions: OptionSet {
    |               `- note: consider making struct 'SignalOptions' conform to the 'Sendable' protocol
 13 |     public let rawValue: Int
 14 |     public init(rawValue: Int) {
    :
 29 |
 30 |     /// Defaults to `[ .shared ]`
 31 |     static let `default`: SignalOptions = [ .shared ]
    |                |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'SignalOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 32 | }
 33 |
/Users/admin/builder/spi-builder-workspace/Flow/Signal+Construction.swift:116:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
114 |
115 |     private var _mutex = pthread_mutex_t()
116 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
117 |
118 |     init(shared: SharedState<Value>? = nil, getValue: (() -> Value)?, callback: @escaping (EventType<Value>) -> Void) {
/Users/admin/builder/spi-builder-workspace/Flow/Signal+Construction.swift:296:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
294 |     private let getValue: (() -> Value)?
295 |     private var _mutex = pthread_mutex_t()
296 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
297 |
298 |     typealias Callback = (EventType<Value>) -> Void
/Users/admin/builder/spi-builder-workspace/Flow/Signal+Debug.swift:49:13: warning: var 'dateFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
47 |
48 | private let dateFormat = "HH:mm:ss.SSS"
49 | private var dateFormatter: DateFormatter = {
   |             |- warning: var 'dateFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'dateFormatter' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make var 'dateFormatter' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
50 |     let dateFormatter = DateFormatter()
51 |     dateFormatter.dateFormat = dateFormat
[19/46] Compiling Flow Signal+Combiners.swift
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:113:16: warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'Scheduler' may have shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 | /// Encapsulates how to asynchronously and synchronously scheduler work and allows comparing if two instances are representing the same scheduler.
 12 | public final class Scheduler {
    |                    `- note: class 'Scheduler' does not conform to the 'Sendable' protocol
 13 |     private let identifyingObject: AnyObject
 14 |     private let _async: (@escaping () -> Void) -> Void
    :
111 |
112 |     /// A Scheduler that won't schedule any work and hence just call work() immediatly
113 |     static let none = Scheduler(identifyingObject: 0 as AnyObject, async: { _ in fatalError() }, sync: { _ in fatalError() })
    |                |- warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'Scheduler' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'none' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
114 |
115 |     /// A Scheduler that will schedule work on `DispatchQueue.main``
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:116:16: warning: static property 'main' is not concurrency-safe because non-'Sendable' type 'Scheduler' may have shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 | /// Encapsulates how to asynchronously and synchronously scheduler work and allows comparing if two instances are representing the same scheduler.
 12 | public final class Scheduler {
    |                    `- note: class 'Scheduler' does not conform to the 'Sendable' protocol
 13 |     private let identifyingObject: AnyObject
 14 |     private let _async: (@escaping () -> Void) -> Void
    :
114 |
115 |     /// A Scheduler that will schedule work on `DispatchQueue.main``
116 |     static let main = Scheduler(queue: .main)
    |                |- warning: static property 'main' is not concurrency-safe because non-'Sendable' type 'Scheduler' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'main' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
117 |
118 |     /// A Scheduler that will schedule work on a serial background queue
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:119:16: warning: static property 'background' is not concurrency-safe because non-'Sendable' type 'Scheduler' may have shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 | /// Encapsulates how to asynchronously and synchronously scheduler work and allows comparing if two instances are representing the same scheduler.
 12 | public final class Scheduler {
    |                    `- note: class 'Scheduler' does not conform to the 'Sendable' protocol
 13 |     private let identifyingObject: AnyObject
 14 |     private let _async: (@escaping () -> Void) -> Void
    :
117 |
118 |     /// A Scheduler that will schedule work on a serial background queue
119 |     static let background = Scheduler(label: "flow.background.serial")
    |                |- warning: static property 'background' is not concurrency-safe because non-'Sendable' type 'Scheduler' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'background' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
120 |
121 |     /// A Scheduler that will schedule work on a concurrent background queue
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:122:16: warning: static property 'concurrentBackground' is not concurrency-safe because non-'Sendable' type 'Scheduler' may have shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 | /// Encapsulates how to asynchronously and synchronously scheduler work and allows comparing if two instances are representing the same scheduler.
 12 | public final class Scheduler {
    |                    `- note: class 'Scheduler' does not conform to the 'Sendable' protocol
 13 |     private let identifyingObject: AnyObject
 14 |     private let _async: (@escaping () -> Void) -> Void
    :
120 |
121 |     /// A Scheduler that will schedule work on a concurrent background queue
122 |     static let concurrentBackground = Scheduler(label: "flow.background.concurrent", attributes: .concurrent)
    |                |- warning: static property 'concurrentBackground' is not concurrency-safe because non-'Sendable' type 'Scheduler' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'concurrentBackground' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
123 | }
124 |
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:159:13: warning: var '_disposableAsync' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
157 | }
158 |
159 | private var _disposableAsync: (_ delay: TimeInterval, _ work: @escaping () -> ()) -> Disposable = Scheduler.concurrentBackground.disposableAsync
    |             |- warning: var '_disposableAsync' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert '_disposableAsync' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var '_disposableAsync' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
160 |
161 | /// Useful for overriding `disposableAsync` in unit test with simulatated delays
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:214:13: warning: let 'mainThreadState' is not concurrency-safe because non-'Sendable' type 'ThreadState' may have shared mutable state; this is an error in the Swift 6 language mode
196 | }
197 |
198 | final class ThreadState {
    |             `- note: class 'ThreadState' does not conform to the 'Sendable' protocol
199 |     var scheduler: Scheduler?
200 |     var syncScheduler: Scheduler?
    :
212 | }
213 |
214 | private let mainThreadState = ThreadState()
    |             |- warning: let 'mainThreadState' is not concurrency-safe because non-'Sendable' type 'ThreadState' may have shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: add '@MainActor' to make let 'mainThreadState' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
215 | private var _threadStateKey: pthread_key_t = 0
216 | private var threadStateKey: pthread_key_t = {
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:215:13: warning: var '_threadStateKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
213 |
214 | private let mainThreadState = ThreadState()
215 | private var _threadStateKey: pthread_key_t = 0
    |             |- warning: var '_threadStateKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert '_threadStateKey' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var '_threadStateKey' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
216 | private var threadStateKey: pthread_key_t = {
217 |     let cleanup: @convention(c) (UnsafeMutableRawPointer) -> Void = { state in
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:216:13: warning: var 'threadStateKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
214 | private let mainThreadState = ThreadState()
215 | private var _threadStateKey: pthread_key_t = 0
216 | private var threadStateKey: pthread_key_t = {
    |             |- warning: var 'threadStateKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'threadStateKey' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'threadStateKey' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
217 |     let cleanup: @convention(c) (UnsafeMutableRawPointer) -> Void = { state in
218 |         Unmanaged<ThreadState>.fromOpaque(state).release()
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:82:13: warning: capture of 'self' with non-sendable type 'Scheduler' in a '@Sendable' closure
 10 |
 11 | /// Encapsulates how to asynchronously and synchronously scheduler work and allows comparing if two instances are representing the same scheduler.
 12 | public final class Scheduler {
    |                    `- note: class 'Scheduler' does not conform to the 'Sendable' protocol
 13 |     private let identifyingObject: AnyObject
 14 |     private let _async: (@escaping () -> Void) -> Void
    :
 80 |     func async(after delay: TimeInterval, execute work: @escaping () -> ()) {
 81 |         return DispatchQueue.concurrentBackground.asyncAfter(deadline: DispatchTime.now() + delay) {
 82 |             self.async(execute: work)
    |             `- warning: capture of 'self' with non-sendable type 'Scheduler' in a '@Sendable' closure
 83 |         }
 84 |     }
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:82:33: warning: capture of 'work' with non-sendable type '() -> ()' in a '@Sendable' closure
 80 |     func async(after delay: TimeInterval, execute work: @escaping () -> ()) {
 81 |         return DispatchQueue.concurrentBackground.asyncAfter(deadline: DispatchTime.now() + delay) {
 82 |             self.async(execute: work)
    |                                 |- warning: capture of 'work' with non-sendable type '() -> ()' in a '@Sendable' closure
    |                                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 83 |         }
 84 |     }
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:128:75: warning: passing non-sendable parameter '$0' to function expecting a @Sendable closure
126 |     /// Create a new instance that will schedule its work on the provided `queue`
127 |     convenience init(queue: DispatchQueue) {
128 |         self.init(identifyingObject: queue, async: { queue.async(execute: $0) }, sync: queue.sync)
    |                                                    |                      `- warning: passing non-sendable parameter '$0' to function expecting a @Sendable closure
    |                                                    `- note: parameter '$0' is implicitly non-sendable
129 |     }
130 |
/Users/admin/builder/spi-builder-workspace/Flow/Signal+Construction.swift:28:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SignalOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 | /// Options used to customize the behaviours of constructed signals.
 12 | public struct SignalOptions: OptionSet {
    |               `- note: consider making struct 'SignalOptions' conform to the 'Sendable' protocol
 13 |     public let rawValue: Int
 14 |     public init(rawValue: Int) {
    :
 26 |     /// Shared signals are useful when the work performed when registering a callback is relatively expensive.
 27 |     /// If the work performed when registering a callback is trivial, it might be more efficient to not setup the signal to be shared.
 28 |     static let shared = SignalOptions(rawValue: 1<<0)
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SignalOptions' 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
 29 |
 30 |     /// Defaults to `[ .shared ]`
/Users/admin/builder/spi-builder-workspace/Flow/Signal+Construction.swift:31:16: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'SignalOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 | /// Options used to customize the behaviours of constructed signals.
 12 | public struct SignalOptions: OptionSet {
    |               `- note: consider making struct 'SignalOptions' conform to the 'Sendable' protocol
 13 |     public let rawValue: Int
 14 |     public init(rawValue: Int) {
    :
 29 |
 30 |     /// Defaults to `[ .shared ]`
 31 |     static let `default`: SignalOptions = [ .shared ]
    |                |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'SignalOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 32 | }
 33 |
/Users/admin/builder/spi-builder-workspace/Flow/Signal+Construction.swift:116:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
114 |
115 |     private var _mutex = pthread_mutex_t()
116 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
117 |
118 |     init(shared: SharedState<Value>? = nil, getValue: (() -> Value)?, callback: @escaping (EventType<Value>) -> Void) {
/Users/admin/builder/spi-builder-workspace/Flow/Signal+Construction.swift:296:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
294 |     private let getValue: (() -> Value)?
295 |     private var _mutex = pthread_mutex_t()
296 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
297 |
298 |     typealias Callback = (EventType<Value>) -> Void
/Users/admin/builder/spi-builder-workspace/Flow/Signal+Debug.swift:49:13: warning: var 'dateFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
47 |
48 | private let dateFormat = "HH:mm:ss.SSS"
49 | private var dateFormatter: DateFormatter = {
   |             |- warning: var 'dateFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'dateFormatter' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make var 'dateFormatter' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
50 |     let dateFormatter = DateFormatter()
51 |     dateFormatter.dateFormat = dateFormat
[20/46] Compiling Flow Signal+Construction.swift
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:113:16: warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'Scheduler' may have shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 | /// Encapsulates how to asynchronously and synchronously scheduler work and allows comparing if two instances are representing the same scheduler.
 12 | public final class Scheduler {
    |                    `- note: class 'Scheduler' does not conform to the 'Sendable' protocol
 13 |     private let identifyingObject: AnyObject
 14 |     private let _async: (@escaping () -> Void) -> Void
    :
111 |
112 |     /// A Scheduler that won't schedule any work and hence just call work() immediatly
113 |     static let none = Scheduler(identifyingObject: 0 as AnyObject, async: { _ in fatalError() }, sync: { _ in fatalError() })
    |                |- warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'Scheduler' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'none' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
114 |
115 |     /// A Scheduler that will schedule work on `DispatchQueue.main``
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:116:16: warning: static property 'main' is not concurrency-safe because non-'Sendable' type 'Scheduler' may have shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 | /// Encapsulates how to asynchronously and synchronously scheduler work and allows comparing if two instances are representing the same scheduler.
 12 | public final class Scheduler {
    |                    `- note: class 'Scheduler' does not conform to the 'Sendable' protocol
 13 |     private let identifyingObject: AnyObject
 14 |     private let _async: (@escaping () -> Void) -> Void
    :
114 |
115 |     /// A Scheduler that will schedule work on `DispatchQueue.main``
116 |     static let main = Scheduler(queue: .main)
    |                |- warning: static property 'main' is not concurrency-safe because non-'Sendable' type 'Scheduler' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'main' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
117 |
118 |     /// A Scheduler that will schedule work on a serial background queue
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:119:16: warning: static property 'background' is not concurrency-safe because non-'Sendable' type 'Scheduler' may have shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 | /// Encapsulates how to asynchronously and synchronously scheduler work and allows comparing if two instances are representing the same scheduler.
 12 | public final class Scheduler {
    |                    `- note: class 'Scheduler' does not conform to the 'Sendable' protocol
 13 |     private let identifyingObject: AnyObject
 14 |     private let _async: (@escaping () -> Void) -> Void
    :
117 |
118 |     /// A Scheduler that will schedule work on a serial background queue
119 |     static let background = Scheduler(label: "flow.background.serial")
    |                |- warning: static property 'background' is not concurrency-safe because non-'Sendable' type 'Scheduler' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'background' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
120 |
121 |     /// A Scheduler that will schedule work on a concurrent background queue
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:122:16: warning: static property 'concurrentBackground' is not concurrency-safe because non-'Sendable' type 'Scheduler' may have shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 | /// Encapsulates how to asynchronously and synchronously scheduler work and allows comparing if two instances are representing the same scheduler.
 12 | public final class Scheduler {
    |                    `- note: class 'Scheduler' does not conform to the 'Sendable' protocol
 13 |     private let identifyingObject: AnyObject
 14 |     private let _async: (@escaping () -> Void) -> Void
    :
120 |
121 |     /// A Scheduler that will schedule work on a concurrent background queue
122 |     static let concurrentBackground = Scheduler(label: "flow.background.concurrent", attributes: .concurrent)
    |                |- warning: static property 'concurrentBackground' is not concurrency-safe because non-'Sendable' type 'Scheduler' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'concurrentBackground' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
123 | }
124 |
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:159:13: warning: var '_disposableAsync' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
157 | }
158 |
159 | private var _disposableAsync: (_ delay: TimeInterval, _ work: @escaping () -> ()) -> Disposable = Scheduler.concurrentBackground.disposableAsync
    |             |- warning: var '_disposableAsync' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert '_disposableAsync' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var '_disposableAsync' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
160 |
161 | /// Useful for overriding `disposableAsync` in unit test with simulatated delays
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:214:13: warning: let 'mainThreadState' is not concurrency-safe because non-'Sendable' type 'ThreadState' may have shared mutable state; this is an error in the Swift 6 language mode
196 | }
197 |
198 | final class ThreadState {
    |             `- note: class 'ThreadState' does not conform to the 'Sendable' protocol
199 |     var scheduler: Scheduler?
200 |     var syncScheduler: Scheduler?
    :
212 | }
213 |
214 | private let mainThreadState = ThreadState()
    |             |- warning: let 'mainThreadState' is not concurrency-safe because non-'Sendable' type 'ThreadState' may have shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: add '@MainActor' to make let 'mainThreadState' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
215 | private var _threadStateKey: pthread_key_t = 0
216 | private var threadStateKey: pthread_key_t = {
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:215:13: warning: var '_threadStateKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
213 |
214 | private let mainThreadState = ThreadState()
215 | private var _threadStateKey: pthread_key_t = 0
    |             |- warning: var '_threadStateKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert '_threadStateKey' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var '_threadStateKey' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
216 | private var threadStateKey: pthread_key_t = {
217 |     let cleanup: @convention(c) (UnsafeMutableRawPointer) -> Void = { state in
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:216:13: warning: var 'threadStateKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
214 | private let mainThreadState = ThreadState()
215 | private var _threadStateKey: pthread_key_t = 0
216 | private var threadStateKey: pthread_key_t = {
    |             |- warning: var 'threadStateKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'threadStateKey' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'threadStateKey' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
217 |     let cleanup: @convention(c) (UnsafeMutableRawPointer) -> Void = { state in
218 |         Unmanaged<ThreadState>.fromOpaque(state).release()
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:82:13: warning: capture of 'self' with non-sendable type 'Scheduler' in a '@Sendable' closure
 10 |
 11 | /// Encapsulates how to asynchronously and synchronously scheduler work and allows comparing if two instances are representing the same scheduler.
 12 | public final class Scheduler {
    |                    `- note: class 'Scheduler' does not conform to the 'Sendable' protocol
 13 |     private let identifyingObject: AnyObject
 14 |     private let _async: (@escaping () -> Void) -> Void
    :
 80 |     func async(after delay: TimeInterval, execute work: @escaping () -> ()) {
 81 |         return DispatchQueue.concurrentBackground.asyncAfter(deadline: DispatchTime.now() + delay) {
 82 |             self.async(execute: work)
    |             `- warning: capture of 'self' with non-sendable type 'Scheduler' in a '@Sendable' closure
 83 |         }
 84 |     }
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:82:33: warning: capture of 'work' with non-sendable type '() -> ()' in a '@Sendable' closure
 80 |     func async(after delay: TimeInterval, execute work: @escaping () -> ()) {
 81 |         return DispatchQueue.concurrentBackground.asyncAfter(deadline: DispatchTime.now() + delay) {
 82 |             self.async(execute: work)
    |                                 |- warning: capture of 'work' with non-sendable type '() -> ()' in a '@Sendable' closure
    |                                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 83 |         }
 84 |     }
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:128:75: warning: passing non-sendable parameter '$0' to function expecting a @Sendable closure
126 |     /// Create a new instance that will schedule its work on the provided `queue`
127 |     convenience init(queue: DispatchQueue) {
128 |         self.init(identifyingObject: queue, async: { queue.async(execute: $0) }, sync: queue.sync)
    |                                                    |                      `- warning: passing non-sendable parameter '$0' to function expecting a @Sendable closure
    |                                                    `- note: parameter '$0' is implicitly non-sendable
129 |     }
130 |
/Users/admin/builder/spi-builder-workspace/Flow/Signal+Construction.swift:28:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SignalOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 | /// Options used to customize the behaviours of constructed signals.
 12 | public struct SignalOptions: OptionSet {
    |               `- note: consider making struct 'SignalOptions' conform to the 'Sendable' protocol
 13 |     public let rawValue: Int
 14 |     public init(rawValue: Int) {
    :
 26 |     /// Shared signals are useful when the work performed when registering a callback is relatively expensive.
 27 |     /// If the work performed when registering a callback is trivial, it might be more efficient to not setup the signal to be shared.
 28 |     static let shared = SignalOptions(rawValue: 1<<0)
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SignalOptions' 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
 29 |
 30 |     /// Defaults to `[ .shared ]`
/Users/admin/builder/spi-builder-workspace/Flow/Signal+Construction.swift:31:16: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'SignalOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 | /// Options used to customize the behaviours of constructed signals.
 12 | public struct SignalOptions: OptionSet {
    |               `- note: consider making struct 'SignalOptions' conform to the 'Sendable' protocol
 13 |     public let rawValue: Int
 14 |     public init(rawValue: Int) {
    :
 29 |
 30 |     /// Defaults to `[ .shared ]`
 31 |     static let `default`: SignalOptions = [ .shared ]
    |                |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'SignalOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 32 | }
 33 |
/Users/admin/builder/spi-builder-workspace/Flow/Signal+Construction.swift:116:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
114 |
115 |     private var _mutex = pthread_mutex_t()
116 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
117 |
118 |     init(shared: SharedState<Value>? = nil, getValue: (() -> Value)?, callback: @escaping (EventType<Value>) -> Void) {
/Users/admin/builder/spi-builder-workspace/Flow/Signal+Construction.swift:296:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
294 |     private let getValue: (() -> Value)?
295 |     private var _mutex = pthread_mutex_t()
296 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
297 |
298 |     typealias Callback = (EventType<Value>) -> Void
/Users/admin/builder/spi-builder-workspace/Flow/Signal+Debug.swift:49:13: warning: var 'dateFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
47 |
48 | private let dateFormat = "HH:mm:ss.SSS"
49 | private var dateFormatter: DateFormatter = {
   |             |- warning: var 'dateFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'dateFormatter' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make var 'dateFormatter' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
50 |     let dateFormatter = DateFormatter()
51 |     dateFormatter.dateFormat = dateFormat
[21/46] Compiling Flow Signal+Debug.swift
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:113:16: warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'Scheduler' may have shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 | /// Encapsulates how to asynchronously and synchronously scheduler work and allows comparing if two instances are representing the same scheduler.
 12 | public final class Scheduler {
    |                    `- note: class 'Scheduler' does not conform to the 'Sendable' protocol
 13 |     private let identifyingObject: AnyObject
 14 |     private let _async: (@escaping () -> Void) -> Void
    :
111 |
112 |     /// A Scheduler that won't schedule any work and hence just call work() immediatly
113 |     static let none = Scheduler(identifyingObject: 0 as AnyObject, async: { _ in fatalError() }, sync: { _ in fatalError() })
    |                |- warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'Scheduler' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'none' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
114 |
115 |     /// A Scheduler that will schedule work on `DispatchQueue.main``
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:116:16: warning: static property 'main' is not concurrency-safe because non-'Sendable' type 'Scheduler' may have shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 | /// Encapsulates how to asynchronously and synchronously scheduler work and allows comparing if two instances are representing the same scheduler.
 12 | public final class Scheduler {
    |                    `- note: class 'Scheduler' does not conform to the 'Sendable' protocol
 13 |     private let identifyingObject: AnyObject
 14 |     private let _async: (@escaping () -> Void) -> Void
    :
114 |
115 |     /// A Scheduler that will schedule work on `DispatchQueue.main``
116 |     static let main = Scheduler(queue: .main)
    |                |- warning: static property 'main' is not concurrency-safe because non-'Sendable' type 'Scheduler' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'main' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
117 |
118 |     /// A Scheduler that will schedule work on a serial background queue
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:119:16: warning: static property 'background' is not concurrency-safe because non-'Sendable' type 'Scheduler' may have shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 | /// Encapsulates how to asynchronously and synchronously scheduler work and allows comparing if two instances are representing the same scheduler.
 12 | public final class Scheduler {
    |                    `- note: class 'Scheduler' does not conform to the 'Sendable' protocol
 13 |     private let identifyingObject: AnyObject
 14 |     private let _async: (@escaping () -> Void) -> Void
    :
117 |
118 |     /// A Scheduler that will schedule work on a serial background queue
119 |     static let background = Scheduler(label: "flow.background.serial")
    |                |- warning: static property 'background' is not concurrency-safe because non-'Sendable' type 'Scheduler' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'background' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
120 |
121 |     /// A Scheduler that will schedule work on a concurrent background queue
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:122:16: warning: static property 'concurrentBackground' is not concurrency-safe because non-'Sendable' type 'Scheduler' may have shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 | /// Encapsulates how to asynchronously and synchronously scheduler work and allows comparing if two instances are representing the same scheduler.
 12 | public final class Scheduler {
    |                    `- note: class 'Scheduler' does not conform to the 'Sendable' protocol
 13 |     private let identifyingObject: AnyObject
 14 |     private let _async: (@escaping () -> Void) -> Void
    :
120 |
121 |     /// A Scheduler that will schedule work on a concurrent background queue
122 |     static let concurrentBackground = Scheduler(label: "flow.background.concurrent", attributes: .concurrent)
    |                |- warning: static property 'concurrentBackground' is not concurrency-safe because non-'Sendable' type 'Scheduler' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'concurrentBackground' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
123 | }
124 |
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:159:13: warning: var '_disposableAsync' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
157 | }
158 |
159 | private var _disposableAsync: (_ delay: TimeInterval, _ work: @escaping () -> ()) -> Disposable = Scheduler.concurrentBackground.disposableAsync
    |             |- warning: var '_disposableAsync' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert '_disposableAsync' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var '_disposableAsync' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
160 |
161 | /// Useful for overriding `disposableAsync` in unit test with simulatated delays
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:214:13: warning: let 'mainThreadState' is not concurrency-safe because non-'Sendable' type 'ThreadState' may have shared mutable state; this is an error in the Swift 6 language mode
196 | }
197 |
198 | final class ThreadState {
    |             `- note: class 'ThreadState' does not conform to the 'Sendable' protocol
199 |     var scheduler: Scheduler?
200 |     var syncScheduler: Scheduler?
    :
212 | }
213 |
214 | private let mainThreadState = ThreadState()
    |             |- warning: let 'mainThreadState' is not concurrency-safe because non-'Sendable' type 'ThreadState' may have shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: add '@MainActor' to make let 'mainThreadState' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
215 | private var _threadStateKey: pthread_key_t = 0
216 | private var threadStateKey: pthread_key_t = {
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:215:13: warning: var '_threadStateKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
213 |
214 | private let mainThreadState = ThreadState()
215 | private var _threadStateKey: pthread_key_t = 0
    |             |- warning: var '_threadStateKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert '_threadStateKey' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var '_threadStateKey' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
216 | private var threadStateKey: pthread_key_t = {
217 |     let cleanup: @convention(c) (UnsafeMutableRawPointer) -> Void = { state in
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:216:13: warning: var 'threadStateKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
214 | private let mainThreadState = ThreadState()
215 | private var _threadStateKey: pthread_key_t = 0
216 | private var threadStateKey: pthread_key_t = {
    |             |- warning: var 'threadStateKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'threadStateKey' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'threadStateKey' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
217 |     let cleanup: @convention(c) (UnsafeMutableRawPointer) -> Void = { state in
218 |         Unmanaged<ThreadState>.fromOpaque(state).release()
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:82:13: warning: capture of 'self' with non-sendable type 'Scheduler' in a '@Sendable' closure
 10 |
 11 | /// Encapsulates how to asynchronously and synchronously scheduler work and allows comparing if two instances are representing the same scheduler.
 12 | public final class Scheduler {
    |                    `- note: class 'Scheduler' does not conform to the 'Sendable' protocol
 13 |     private let identifyingObject: AnyObject
 14 |     private let _async: (@escaping () -> Void) -> Void
    :
 80 |     func async(after delay: TimeInterval, execute work: @escaping () -> ()) {
 81 |         return DispatchQueue.concurrentBackground.asyncAfter(deadline: DispatchTime.now() + delay) {
 82 |             self.async(execute: work)
    |             `- warning: capture of 'self' with non-sendable type 'Scheduler' in a '@Sendable' closure
 83 |         }
 84 |     }
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:82:33: warning: capture of 'work' with non-sendable type '() -> ()' in a '@Sendable' closure
 80 |     func async(after delay: TimeInterval, execute work: @escaping () -> ()) {
 81 |         return DispatchQueue.concurrentBackground.asyncAfter(deadline: DispatchTime.now() + delay) {
 82 |             self.async(execute: work)
    |                                 |- warning: capture of 'work' with non-sendable type '() -> ()' in a '@Sendable' closure
    |                                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 83 |         }
 84 |     }
/Users/admin/builder/spi-builder-workspace/Flow/Scheduler.swift:128:75: warning: passing non-sendable parameter '$0' to function expecting a @Sendable closure
126 |     /// Create a new instance that will schedule its work on the provided `queue`
127 |     convenience init(queue: DispatchQueue) {
128 |         self.init(identifyingObject: queue, async: { queue.async(execute: $0) }, sync: queue.sync)
    |                                                    |                      `- warning: passing non-sendable parameter '$0' to function expecting a @Sendable closure
    |                                                    `- note: parameter '$0' is implicitly non-sendable
129 |     }
130 |
/Users/admin/builder/spi-builder-workspace/Flow/Signal+Construction.swift:28:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SignalOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 | /// Options used to customize the behaviours of constructed signals.
 12 | public struct SignalOptions: OptionSet {
    |               `- note: consider making struct 'SignalOptions' conform to the 'Sendable' protocol
 13 |     public let rawValue: Int
 14 |     public init(rawValue: Int) {
    :
 26 |     /// Shared signals are useful when the work performed when registering a callback is relatively expensive.
 27 |     /// If the work performed when registering a callback is trivial, it might be more efficient to not setup the signal to be shared.
 28 |     static let shared = SignalOptions(rawValue: 1<<0)
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SignalOptions' 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
 29 |
 30 |     /// Defaults to `[ .shared ]`
/Users/admin/builder/spi-builder-workspace/Flow/Signal+Construction.swift:31:16: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'SignalOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 | /// Options used to customize the behaviours of constructed signals.
 12 | public struct SignalOptions: OptionSet {
    |               `- note: consider making struct 'SignalOptions' conform to the 'Sendable' protocol
 13 |     public let rawValue: Int
 14 |     public init(rawValue: Int) {
    :
 29 |
 30 |     /// Defaults to `[ .shared ]`
 31 |     static let `default`: SignalOptions = [ .shared ]
    |                |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'SignalOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 32 | }
 33 |
/Users/admin/builder/spi-builder-workspace/Flow/Signal+Construction.swift:116:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
114 |
115 |     private var _mutex = pthread_mutex_t()
116 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
117 |
118 |     init(shared: SharedState<Value>? = nil, getValue: (() -> Value)?, callback: @escaping (EventType<Value>) -> Void) {
/Users/admin/builder/spi-builder-workspace/Flow/Signal+Construction.swift:296:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
294 |     private let getValue: (() -> Value)?
295 |     private var _mutex = pthread_mutex_t()
296 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
297 |
298 |     typealias Callback = (EventType<Value>) -> Void
/Users/admin/builder/spi-builder-workspace/Flow/Signal+Debug.swift:49:13: warning: var 'dateFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
47 |
48 | private let dateFormat = "HH:mm:ss.SSS"
49 | private var dateFormatter: DateFormatter = {
   |             |- warning: var 'dateFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'dateFormatter' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make var 'dateFormatter' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
50 |     let dateFormatter = DateFormatter()
51 |     dateFormatter.dateFormat = dateFormat
[22/46] Compiling Flow FutureQueue.swift
/Users/admin/builder/spi-builder-workspace/Flow/FutureQueue.swift:200:5: warning: var 'queueItemUnitTestAliveCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
198 | }
199 |
200 | var queueItemUnitTestAliveCount: Int32 = 0
    |     |- warning: var 'queueItemUnitTestAliveCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |     |- note: convert 'queueItemUnitTestAliveCount' to a 'let' constant to make 'Sendable' shared state immutable
    |     |- note: add '@MainActor' to make var 'queueItemUnitTestAliveCount' part of global actor 'MainActor'
    |     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
201 | var futureQueueUnitTestAliveCount: Int32 = 0
202 |
/Users/admin/builder/spi-builder-workspace/Flow/FutureQueue.swift:201:5: warning: var 'futureQueueUnitTestAliveCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
199 |
200 | var queueItemUnitTestAliveCount: Int32 = 0
201 | var futureQueueUnitTestAliveCount: Int32 = 0
    |     |- warning: var 'futureQueueUnitTestAliveCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |     |- note: convert 'futureQueueUnitTestAliveCount' to a 'let' constant to make 'Sendable' shared state immutable
    |     |- note: add '@MainActor' to make var 'futureQueueUnitTestAliveCount' part of global actor 'MainActor'
    |     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
202 |
203 | /// QueueItem is generic on Output but we can't hold a queue of heterogeneous items, hence this helper protocol
/Users/admin/builder/spi-builder-workspace/Flow/FutureQueue.swift:172:38: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
170 |
171 | private extension FutureQueue {
172 |     var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                      |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                      |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                      `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
173 |     func lock() { mutex.lock() }
174 |     func unlock() { mutex.unlock() }
/Users/admin/builder/spi-builder-workspace/Flow/FutureQueue.swift:234:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
232 |     }
233 |
234 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
235 |     private func lock() { mutex.lock() }
236 |     private func unlock() { mutex.unlock() }
/Users/admin/builder/spi-builder-workspace/Flow/Locking.swift:14:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 12 | public final class Mutex {
 13 |     private var _mutex = pthread_mutex_t()
 14 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 15 |
 16 |     public init() {
/Users/admin/builder/spi-builder-workspace/Flow/Locking.swift:90:50: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 88 |     fileprivate var disposables = [Disposable]()
 89 |     private var _mutex = pthread_mutex_t()
 90 |     fileprivate var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                                  |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                                  |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                                  `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 91 |
 92 |     init(state: State, callback: @escaping (Value) -> ()) {
/Users/admin/builder/spi-builder-workspace/Flow/OrderedCallbacker.swift:18:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
16 |     private var callbacks: [Key: (OrderedValue, (CallbackValue) -> Future<()>)] = [:]
17 |     private var _mutex = pthread_mutex_t()
18 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
   |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
   |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
   |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
19 |
20 |     public init() {
[23/46] Compiling Flow HasEventListeners.swift
/Users/admin/builder/spi-builder-workspace/Flow/FutureQueue.swift:200:5: warning: var 'queueItemUnitTestAliveCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
198 | }
199 |
200 | var queueItemUnitTestAliveCount: Int32 = 0
    |     |- warning: var 'queueItemUnitTestAliveCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |     |- note: convert 'queueItemUnitTestAliveCount' to a 'let' constant to make 'Sendable' shared state immutable
    |     |- note: add '@MainActor' to make var 'queueItemUnitTestAliveCount' part of global actor 'MainActor'
    |     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
201 | var futureQueueUnitTestAliveCount: Int32 = 0
202 |
/Users/admin/builder/spi-builder-workspace/Flow/FutureQueue.swift:201:5: warning: var 'futureQueueUnitTestAliveCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
199 |
200 | var queueItemUnitTestAliveCount: Int32 = 0
201 | var futureQueueUnitTestAliveCount: Int32 = 0
    |     |- warning: var 'futureQueueUnitTestAliveCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |     |- note: convert 'futureQueueUnitTestAliveCount' to a 'let' constant to make 'Sendable' shared state immutable
    |     |- note: add '@MainActor' to make var 'futureQueueUnitTestAliveCount' part of global actor 'MainActor'
    |     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
202 |
203 | /// QueueItem is generic on Output but we can't hold a queue of heterogeneous items, hence this helper protocol
/Users/admin/builder/spi-builder-workspace/Flow/FutureQueue.swift:172:38: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
170 |
171 | private extension FutureQueue {
172 |     var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                      |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                      |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                      `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
173 |     func lock() { mutex.lock() }
174 |     func unlock() { mutex.unlock() }
/Users/admin/builder/spi-builder-workspace/Flow/FutureQueue.swift:234:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
232 |     }
233 |
234 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
235 |     private func lock() { mutex.lock() }
236 |     private func unlock() { mutex.unlock() }
/Users/admin/builder/spi-builder-workspace/Flow/Locking.swift:14:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 12 | public final class Mutex {
 13 |     private var _mutex = pthread_mutex_t()
 14 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 15 |
 16 |     public init() {
/Users/admin/builder/spi-builder-workspace/Flow/Locking.swift:90:50: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 88 |     fileprivate var disposables = [Disposable]()
 89 |     private var _mutex = pthread_mutex_t()
 90 |     fileprivate var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                                  |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                                  |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                                  `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 91 |
 92 |     init(state: State, callback: @escaping (Value) -> ()) {
/Users/admin/builder/spi-builder-workspace/Flow/OrderedCallbacker.swift:18:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
16 |     private var callbacks: [Key: (OrderedValue, (CallbackValue) -> Future<()>)] = [:]
17 |     private var _mutex = pthread_mutex_t()
18 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
   |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
   |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
   |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
19 |
20 |     public init() {
[24/46] Compiling Flow Locking.swift
/Users/admin/builder/spi-builder-workspace/Flow/FutureQueue.swift:200:5: warning: var 'queueItemUnitTestAliveCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
198 | }
199 |
200 | var queueItemUnitTestAliveCount: Int32 = 0
    |     |- warning: var 'queueItemUnitTestAliveCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |     |- note: convert 'queueItemUnitTestAliveCount' to a 'let' constant to make 'Sendable' shared state immutable
    |     |- note: add '@MainActor' to make var 'queueItemUnitTestAliveCount' part of global actor 'MainActor'
    |     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
201 | var futureQueueUnitTestAliveCount: Int32 = 0
202 |
/Users/admin/builder/spi-builder-workspace/Flow/FutureQueue.swift:201:5: warning: var 'futureQueueUnitTestAliveCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
199 |
200 | var queueItemUnitTestAliveCount: Int32 = 0
201 | var futureQueueUnitTestAliveCount: Int32 = 0
    |     |- warning: var 'futureQueueUnitTestAliveCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |     |- note: convert 'futureQueueUnitTestAliveCount' to a 'let' constant to make 'Sendable' shared state immutable
    |     |- note: add '@MainActor' to make var 'futureQueueUnitTestAliveCount' part of global actor 'MainActor'
    |     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
202 |
203 | /// QueueItem is generic on Output but we can't hold a queue of heterogeneous items, hence this helper protocol
/Users/admin/builder/spi-builder-workspace/Flow/FutureQueue.swift:172:38: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
170 |
171 | private extension FutureQueue {
172 |     var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                      |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                      |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                      `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
173 |     func lock() { mutex.lock() }
174 |     func unlock() { mutex.unlock() }
/Users/admin/builder/spi-builder-workspace/Flow/FutureQueue.swift:234:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
232 |     }
233 |
234 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
235 |     private func lock() { mutex.lock() }
236 |     private func unlock() { mutex.unlock() }
/Users/admin/builder/spi-builder-workspace/Flow/Locking.swift:14:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 12 | public final class Mutex {
 13 |     private var _mutex = pthread_mutex_t()
 14 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 15 |
 16 |     public init() {
/Users/admin/builder/spi-builder-workspace/Flow/Locking.swift:90:50: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 88 |     fileprivate var disposables = [Disposable]()
 89 |     private var _mutex = pthread_mutex_t()
 90 |     fileprivate var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                                  |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                                  |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                                  `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 91 |
 92 |     init(state: State, callback: @escaping (Value) -> ()) {
/Users/admin/builder/spi-builder-workspace/Flow/OrderedCallbacker.swift:18:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
16 |     private var callbacks: [Key: (OrderedValue, (CallbackValue) -> Future<()>)] = [:]
17 |     private var _mutex = pthread_mutex_t()
18 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
   |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
   |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
   |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
19 |
20 |     public init() {
[25/46] Compiling Flow OrderedCallbacker.swift
/Users/admin/builder/spi-builder-workspace/Flow/FutureQueue.swift:200:5: warning: var 'queueItemUnitTestAliveCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
198 | }
199 |
200 | var queueItemUnitTestAliveCount: Int32 = 0
    |     |- warning: var 'queueItemUnitTestAliveCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |     |- note: convert 'queueItemUnitTestAliveCount' to a 'let' constant to make 'Sendable' shared state immutable
    |     |- note: add '@MainActor' to make var 'queueItemUnitTestAliveCount' part of global actor 'MainActor'
    |     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
201 | var futureQueueUnitTestAliveCount: Int32 = 0
202 |
/Users/admin/builder/spi-builder-workspace/Flow/FutureQueue.swift:201:5: warning: var 'futureQueueUnitTestAliveCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
199 |
200 | var queueItemUnitTestAliveCount: Int32 = 0
201 | var futureQueueUnitTestAliveCount: Int32 = 0
    |     |- warning: var 'futureQueueUnitTestAliveCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |     |- note: convert 'futureQueueUnitTestAliveCount' to a 'let' constant to make 'Sendable' shared state immutable
    |     |- note: add '@MainActor' to make var 'futureQueueUnitTestAliveCount' part of global actor 'MainActor'
    |     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
202 |
203 | /// QueueItem is generic on Output but we can't hold a queue of heterogeneous items, hence this helper protocol
/Users/admin/builder/spi-builder-workspace/Flow/FutureQueue.swift:172:38: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
170 |
171 | private extension FutureQueue {
172 |     var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                      |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                      |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                      `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
173 |     func lock() { mutex.lock() }
174 |     func unlock() { mutex.unlock() }
/Users/admin/builder/spi-builder-workspace/Flow/FutureQueue.swift:234:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
232 |     }
233 |
234 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
235 |     private func lock() { mutex.lock() }
236 |     private func unlock() { mutex.unlock() }
/Users/admin/builder/spi-builder-workspace/Flow/Locking.swift:14:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 12 | public final class Mutex {
 13 |     private var _mutex = pthread_mutex_t()
 14 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 15 |
 16 |     public init() {
/Users/admin/builder/spi-builder-workspace/Flow/Locking.swift:90:50: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 88 |     fileprivate var disposables = [Disposable]()
 89 |     private var _mutex = pthread_mutex_t()
 90 |     fileprivate var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                                  |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                                  |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                                  `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 91 |
 92 |     init(state: State, callback: @escaping (Value) -> ()) {
/Users/admin/builder/spi-builder-workspace/Flow/OrderedCallbacker.swift:18:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
16 |     private var callbacks: [Key: (OrderedValue, (CallbackValue) -> Future<()>)] = [:]
17 |     private var _mutex = pthread_mutex_t()
18 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
   |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
   |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
   |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
19 |
20 |     public init() {
[26/46] Compiling Flow Signal+KeyValueObserving.swift
/Users/admin/builder/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:29:17: warning: capture of 'callback' with non-sendable type '(Event<Value>) -> Void' in a '@Sendable' closure
27 |         self.init(getValue: { object[keyPath: keyPath] }, options: .shared, onInternalEvent: { callback in
28 |             let token = object.observe(keyPath, options: .new) { _, _ in
29 |                 callback(.value(object[keyPath: keyPath]))
   |                 |- warning: capture of 'callback' with non-sendable type '(Event<Value>) -> Void' in a '@Sendable' closure
   |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
30 |             }
31 |             return Disposer { _ = token } // Hold on to reference
/Users/admin/builder/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:29:33: warning: capture of 'object' with non-sendable type 'O' in a '@Sendable' closure
24 | public extension CoreSignal where Kind == Read {
25 |     /// Creates a new instance observing the property at `keyPath` of `object` using key value observing (KVO).
26 |     convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
   |                      `- note: consider making generic parameter 'O' conform to the 'Sendable' protocol
27 |         self.init(getValue: { object[keyPath: keyPath] }, options: .shared, onInternalEvent: { callback in
28 |             let token = object.observe(keyPath, options: .new) { _, _ in
29 |                 callback(.value(object[keyPath: keyPath]))
   |                                 `- warning: capture of 'object' with non-sendable type 'O' in a '@Sendable' closure
30 |             }
31 |             return Disposer { _ = token } // Hold on to reference
/Users/admin/builder/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:29:49: warning: capture of 'keyPath' with non-sendable type 'KeyPath<O, Value>' in a '@Sendable' closure
27 |         self.init(getValue: { object[keyPath: keyPath] }, options: .shared, onInternalEvent: { callback in
28 |             let token = object.observe(keyPath, options: .new) { _, _ in
29 |                 callback(.value(object[keyPath: keyPath]))
   |                                                 `- warning: capture of 'keyPath' with non-sendable type 'KeyPath<O, Value>' in a '@Sendable' closure
30 |             }
31 |             return Disposer { _ = token } // Hold on to reference
Swift.KeyPath:1:14: note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
1 | public class KeyPath<Root, Value> : PartialKeyPath<Root> {
  |              `- note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
2 |     @objc deinit
3 | }
/Users/admin/builder/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:45:25: warning: capture of 'callback' with non-sendable type '(Event<Value>) -> Void' in a '@Sendable' closure
43 |                   onInternalEvent: { callback in
44 |                     let token = object.observe(keyPath, options: .new) { newObject, _ in
45 |                         callback(.value(newObject[keyPath: keyPath]))
   |                         |- warning: capture of 'callback' with non-sendable type '(Event<Value>) -> Void' in a '@Sendable' closure
   |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
46 |                     }
47 |                     return Disposer { _ = token } // Hold on to reference
/Users/admin/builder/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:45:60: warning: capture of 'keyPath' with non-sendable type 'WritableKeyPath<O, Value>' in a '@Sendable' closure
43 |                   onInternalEvent: { callback in
44 |                     let token = object.observe(keyPath, options: .new) { newObject, _ in
45 |                         callback(.value(newObject[keyPath: keyPath]))
   |                                                            `- warning: capture of 'keyPath' with non-sendable type 'WritableKeyPath<O, Value>' in a '@Sendable' closure
46 |                     }
47 |                     return Disposer { _ = token } // Hold on to reference
Swift.WritableKeyPath:1:14: note: generic class 'WritableKeyPath' does not conform to the 'Sendable' protocol
1 | public class WritableKeyPath<Root, Value> : KeyPath<Root, Value> {
  |              `- note: generic class 'WritableKeyPath' does not conform to the 'Sendable' protocol
2 |     @objc deinit
3 | }
/Users/admin/builder/spi-builder-workspace/Flow/Signal+Scheduling.swift:123:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
121 |     private var disposable: Disposable?
122 |     private var _mutex = pthread_mutex_t()
123 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
124 |     private let scheduler: Scheduler
125 |     private var callback: ((EventType<Value>) -> Void)?
[27/46] Compiling Flow Signal+Listeners.swift
/Users/admin/builder/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:29:17: warning: capture of 'callback' with non-sendable type '(Event<Value>) -> Void' in a '@Sendable' closure
27 |         self.init(getValue: { object[keyPath: keyPath] }, options: .shared, onInternalEvent: { callback in
28 |             let token = object.observe(keyPath, options: .new) { _, _ in
29 |                 callback(.value(object[keyPath: keyPath]))
   |                 |- warning: capture of 'callback' with non-sendable type '(Event<Value>) -> Void' in a '@Sendable' closure
   |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
30 |             }
31 |             return Disposer { _ = token } // Hold on to reference
/Users/admin/builder/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:29:33: warning: capture of 'object' with non-sendable type 'O' in a '@Sendable' closure
24 | public extension CoreSignal where Kind == Read {
25 |     /// Creates a new instance observing the property at `keyPath` of `object` using key value observing (KVO).
26 |     convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
   |                      `- note: consider making generic parameter 'O' conform to the 'Sendable' protocol
27 |         self.init(getValue: { object[keyPath: keyPath] }, options: .shared, onInternalEvent: { callback in
28 |             let token = object.observe(keyPath, options: .new) { _, _ in
29 |                 callback(.value(object[keyPath: keyPath]))
   |                                 `- warning: capture of 'object' with non-sendable type 'O' in a '@Sendable' closure
30 |             }
31 |             return Disposer { _ = token } // Hold on to reference
/Users/admin/builder/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:29:49: warning: capture of 'keyPath' with non-sendable type 'KeyPath<O, Value>' in a '@Sendable' closure
27 |         self.init(getValue: { object[keyPath: keyPath] }, options: .shared, onInternalEvent: { callback in
28 |             let token = object.observe(keyPath, options: .new) { _, _ in
29 |                 callback(.value(object[keyPath: keyPath]))
   |                                                 `- warning: capture of 'keyPath' with non-sendable type 'KeyPath<O, Value>' in a '@Sendable' closure
30 |             }
31 |             return Disposer { _ = token } // Hold on to reference
Swift.KeyPath:1:14: note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
1 | public class KeyPath<Root, Value> : PartialKeyPath<Root> {
  |              `- note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
2 |     @objc deinit
3 | }
/Users/admin/builder/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:45:25: warning: capture of 'callback' with non-sendable type '(Event<Value>) -> Void' in a '@Sendable' closure
43 |                   onInternalEvent: { callback in
44 |                     let token = object.observe(keyPath, options: .new) { newObject, _ in
45 |                         callback(.value(newObject[keyPath: keyPath]))
   |                         |- warning: capture of 'callback' with non-sendable type '(Event<Value>) -> Void' in a '@Sendable' closure
   |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
46 |                     }
47 |                     return Disposer { _ = token } // Hold on to reference
/Users/admin/builder/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:45:60: warning: capture of 'keyPath' with non-sendable type 'WritableKeyPath<O, Value>' in a '@Sendable' closure
43 |                   onInternalEvent: { callback in
44 |                     let token = object.observe(keyPath, options: .new) { newObject, _ in
45 |                         callback(.value(newObject[keyPath: keyPath]))
   |                                                            `- warning: capture of 'keyPath' with non-sendable type 'WritableKeyPath<O, Value>' in a '@Sendable' closure
46 |                     }
47 |                     return Disposer { _ = token } // Hold on to reference
Swift.WritableKeyPath:1:14: note: generic class 'WritableKeyPath' does not conform to the 'Sendable' protocol
1 | public class WritableKeyPath<Root, Value> : KeyPath<Root, Value> {
  |              `- note: generic class 'WritableKeyPath' does not conform to the 'Sendable' protocol
2 |     @objc deinit
3 | }
/Users/admin/builder/spi-builder-workspace/Flow/Signal+Scheduling.swift:123:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
121 |     private var disposable: Disposable?
122 |     private var _mutex = pthread_mutex_t()
123 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
124 |     private let scheduler: Scheduler
125 |     private var callback: ((EventType<Value>) -> Void)?
[28/46] Compiling Flow Signal+Scheduling.swift
/Users/admin/builder/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:29:17: warning: capture of 'callback' with non-sendable type '(Event<Value>) -> Void' in a '@Sendable' closure
27 |         self.init(getValue: { object[keyPath: keyPath] }, options: .shared, onInternalEvent: { callback in
28 |             let token = object.observe(keyPath, options: .new) { _, _ in
29 |                 callback(.value(object[keyPath: keyPath]))
   |                 |- warning: capture of 'callback' with non-sendable type '(Event<Value>) -> Void' in a '@Sendable' closure
   |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
30 |             }
31 |             return Disposer { _ = token } // Hold on to reference
/Users/admin/builder/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:29:33: warning: capture of 'object' with non-sendable type 'O' in a '@Sendable' closure
24 | public extension CoreSignal where Kind == Read {
25 |     /// Creates a new instance observing the property at `keyPath` of `object` using key value observing (KVO).
26 |     convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
   |                      `- note: consider making generic parameter 'O' conform to the 'Sendable' protocol
27 |         self.init(getValue: { object[keyPath: keyPath] }, options: .shared, onInternalEvent: { callback in
28 |             let token = object.observe(keyPath, options: .new) { _, _ in
29 |                 callback(.value(object[keyPath: keyPath]))
   |                                 `- warning: capture of 'object' with non-sendable type 'O' in a '@Sendable' closure
30 |             }
31 |             return Disposer { _ = token } // Hold on to reference
/Users/admin/builder/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:29:49: warning: capture of 'keyPath' with non-sendable type 'KeyPath<O, Value>' in a '@Sendable' closure
27 |         self.init(getValue: { object[keyPath: keyPath] }, options: .shared, onInternalEvent: { callback in
28 |             let token = object.observe(keyPath, options: .new) { _, _ in
29 |                 callback(.value(object[keyPath: keyPath]))
   |                                                 `- warning: capture of 'keyPath' with non-sendable type 'KeyPath<O, Value>' in a '@Sendable' closure
30 |             }
31 |             return Disposer { _ = token } // Hold on to reference
Swift.KeyPath:1:14: note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
1 | public class KeyPath<Root, Value> : PartialKeyPath<Root> {
  |              `- note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
2 |     @objc deinit
3 | }
/Users/admin/builder/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:45:25: warning: capture of 'callback' with non-sendable type '(Event<Value>) -> Void' in a '@Sendable' closure
43 |                   onInternalEvent: { callback in
44 |                     let token = object.observe(keyPath, options: .new) { newObject, _ in
45 |                         callback(.value(newObject[keyPath: keyPath]))
   |                         |- warning: capture of 'callback' with non-sendable type '(Event<Value>) -> Void' in a '@Sendable' closure
   |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
46 |                     }
47 |                     return Disposer { _ = token } // Hold on to reference
/Users/admin/builder/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:45:60: warning: capture of 'keyPath' with non-sendable type 'WritableKeyPath<O, Value>' in a '@Sendable' closure
43 |                   onInternalEvent: { callback in
44 |                     let token = object.observe(keyPath, options: .new) { newObject, _ in
45 |                         callback(.value(newObject[keyPath: keyPath]))
   |                                                            `- warning: capture of 'keyPath' with non-sendable type 'WritableKeyPath<O, Value>' in a '@Sendable' closure
46 |                     }
47 |                     return Disposer { _ = token } // Hold on to reference
Swift.WritableKeyPath:1:14: note: generic class 'WritableKeyPath' does not conform to the 'Sendable' protocol
1 | public class WritableKeyPath<Root, Value> : KeyPath<Root, Value> {
  |              `- note: generic class 'WritableKeyPath' does not conform to the 'Sendable' protocol
2 |     @objc deinit
3 | }
/Users/admin/builder/spi-builder-workspace/Flow/Signal+Scheduling.swift:123:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
121 |     private var disposable: Disposable?
122 |     private var _mutex = pthread_mutex_t()
123 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
124 |     private let scheduler: Scheduler
125 |     private var callback: ((EventType<Value>) -> Void)?
[29/46] Compiling Flow Signal+Transforms.swift
/Users/admin/builder/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:29:17: warning: capture of 'callback' with non-sendable type '(Event<Value>) -> Void' in a '@Sendable' closure
27 |         self.init(getValue: { object[keyPath: keyPath] }, options: .shared, onInternalEvent: { callback in
28 |             let token = object.observe(keyPath, options: .new) { _, _ in
29 |                 callback(.value(object[keyPath: keyPath]))
   |                 |- warning: capture of 'callback' with non-sendable type '(Event<Value>) -> Void' in a '@Sendable' closure
   |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
30 |             }
31 |             return Disposer { _ = token } // Hold on to reference
/Users/admin/builder/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:29:33: warning: capture of 'object' with non-sendable type 'O' in a '@Sendable' closure
24 | public extension CoreSignal where Kind == Read {
25 |     /// Creates a new instance observing the property at `keyPath` of `object` using key value observing (KVO).
26 |     convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
   |                      `- note: consider making generic parameter 'O' conform to the 'Sendable' protocol
27 |         self.init(getValue: { object[keyPath: keyPath] }, options: .shared, onInternalEvent: { callback in
28 |             let token = object.observe(keyPath, options: .new) { _, _ in
29 |                 callback(.value(object[keyPath: keyPath]))
   |                                 `- warning: capture of 'object' with non-sendable type 'O' in a '@Sendable' closure
30 |             }
31 |             return Disposer { _ = token } // Hold on to reference
/Users/admin/builder/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:29:49: warning: capture of 'keyPath' with non-sendable type 'KeyPath<O, Value>' in a '@Sendable' closure
27 |         self.init(getValue: { object[keyPath: keyPath] }, options: .shared, onInternalEvent: { callback in
28 |             let token = object.observe(keyPath, options: .new) { _, _ in
29 |                 callback(.value(object[keyPath: keyPath]))
   |                                                 `- warning: capture of 'keyPath' with non-sendable type 'KeyPath<O, Value>' in a '@Sendable' closure
30 |             }
31 |             return Disposer { _ = token } // Hold on to reference
Swift.KeyPath:1:14: note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
1 | public class KeyPath<Root, Value> : PartialKeyPath<Root> {
  |              `- note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
2 |     @objc deinit
3 | }
/Users/admin/builder/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:45:25: warning: capture of 'callback' with non-sendable type '(Event<Value>) -> Void' in a '@Sendable' closure
43 |                   onInternalEvent: { callback in
44 |                     let token = object.observe(keyPath, options: .new) { newObject, _ in
45 |                         callback(.value(newObject[keyPath: keyPath]))
   |                         |- warning: capture of 'callback' with non-sendable type '(Event<Value>) -> Void' in a '@Sendable' closure
   |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
46 |                     }
47 |                     return Disposer { _ = token } // Hold on to reference
/Users/admin/builder/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:45:60: warning: capture of 'keyPath' with non-sendable type 'WritableKeyPath<O, Value>' in a '@Sendable' closure
43 |                   onInternalEvent: { callback in
44 |                     let token = object.observe(keyPath, options: .new) { newObject, _ in
45 |                         callback(.value(newObject[keyPath: keyPath]))
   |                                                            `- warning: capture of 'keyPath' with non-sendable type 'WritableKeyPath<O, Value>' in a '@Sendable' closure
46 |                     }
47 |                     return Disposer { _ = token } // Hold on to reference
Swift.WritableKeyPath:1:14: note: generic class 'WritableKeyPath' does not conform to the 'Sendable' protocol
1 | public class WritableKeyPath<Root, Value> : KeyPath<Root, Value> {
  |              `- note: generic class 'WritableKeyPath' does not conform to the 'Sendable' protocol
2 |     @objc deinit
3 | }
/Users/admin/builder/spi-builder-workspace/Flow/Signal+Scheduling.swift:123:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
121 |     private var disposable: Disposable?
122 |     private var _mutex = pthread_mutex_t()
123 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
124 |     private let scheduler: Scheduler
125 |     private var callback: ((EventType<Value>) -> Void)?
[30/46] Compiling Flow Signal+Utilities.swift
/Users/admin/builder/spi-builder-workspace/Flow/Signal+Utilities.swift:54:13: warning: var 'trackerKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
52 | }
53 |
54 | private var trackerKey = false
   |             |- warning: var 'trackerKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'trackerKey' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make var 'trackerKey' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
55 |
/Users/admin/builder/spi-builder-workspace/Flow/Signal+Utilities.swift:15:95: warning: passing non-sendable parameter 'callback' to function expecting a @Sendable closure
12 |     /// Returns a signal for notifications named `name`.
13 |     func signal(forName name: Notification.Name?, object: Any? = nil) -> Signal<Notification> {
14 |         return Signal(onValue: { callback in
   |                                  `- note: parameter 'callback' is implicitly non-sendable
15 |             let observer = self.addObserver(forName: name, object: object, queue: nil, using: callback)
   |                                                                                               `- warning: passing non-sendable parameter 'callback' to function expecting a @Sendable closure
16 |             return Disposer {
17 |                 self.removeObserver(observer)
[31/46] Compiling Flow Signal.swift
/Users/admin/builder/spi-builder-workspace/Flow/Signal+Utilities.swift:54:13: warning: var 'trackerKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
52 | }
53 |
54 | private var trackerKey = false
   |             |- warning: var 'trackerKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'trackerKey' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make var 'trackerKey' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
55 |
/Users/admin/builder/spi-builder-workspace/Flow/Signal+Utilities.swift:15:95: warning: passing non-sendable parameter 'callback' to function expecting a @Sendable closure
12 |     /// Returns a signal for notifications named `name`.
13 |     func signal(forName name: Notification.Name?, object: Any? = nil) -> Signal<Notification> {
14 |         return Signal(onValue: { callback in
   |                                  `- note: parameter 'callback' is implicitly non-sendable
15 |             let observer = self.addObserver(forName: name, object: object, queue: nil, using: callback)
   |                                                                                               `- warning: passing non-sendable parameter 'callback' to function expecting a @Sendable closure
16 |             return Disposer {
17 |                 self.removeObserver(observer)
[32/46] Compiling Flow SignalProvider.swift
/Users/admin/builder/spi-builder-workspace/Flow/Signal+Utilities.swift:54:13: warning: var 'trackerKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
52 | }
53 |
54 | private var trackerKey = false
   |             |- warning: var 'trackerKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'trackerKey' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make var 'trackerKey' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
55 |
/Users/admin/builder/spi-builder-workspace/Flow/Signal+Utilities.swift:15:95: warning: passing non-sendable parameter 'callback' to function expecting a @Sendable closure
12 |     /// Returns a signal for notifications named `name`.
13 |     func signal(forName name: Notification.Name?, object: Any? = nil) -> Signal<Notification> {
14 |         return Signal(onValue: { callback in
   |                                  `- note: parameter 'callback' is implicitly non-sendable
15 |             let observer = self.addObserver(forName: name, object: object, queue: nil, using: callback)
   |                                                                                               `- warning: passing non-sendable parameter 'callback' to function expecting a @Sendable closure
16 |             return Disposer {
17 |                 self.removeObserver(observer)
[33/46] Compiling Flow TargetActionable.swift
/Users/admin/builder/spi-builder-workspace/Flow/Signal+Utilities.swift:54:13: warning: var 'trackerKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
52 | }
53 |
54 | private var trackerKey = false
   |             |- warning: var 'trackerKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: convert 'trackerKey' to a 'let' constant to make 'Sendable' shared state immutable
   |             |- note: add '@MainActor' to make var 'trackerKey' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
55 |
/Users/admin/builder/spi-builder-workspace/Flow/Signal+Utilities.swift:15:95: warning: passing non-sendable parameter 'callback' to function expecting a @Sendable closure
12 |     /// Returns a signal for notifications named `name`.
13 |     func signal(forName name: Notification.Name?, object: Any? = nil) -> Signal<Notification> {
14 |         return Signal(onValue: { callback in
   |                                  `- note: parameter 'callback' is implicitly non-sendable
15 |             let observer = self.addObserver(forName: name, object: object, queue: nil, using: callback)
   |                                                                                               `- warning: passing non-sendable parameter 'callback' to function expecting a @Sendable closure
16 |             return Disposer {
17 |                 self.removeObserver(observer)
[34/46] Compiling Flow ReadSignal.swift
/Users/admin/builder/spi-builder-workspace/Flow/ReadWriteSignal.swift:89:13: warning: var 'propertySetterKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 87 | }
 88 |
 89 | private var propertySetterKey = false
    |             |- warning: var 'propertySetterKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'propertySetterKey' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'propertySetterKey' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 90 |
 91 | internal extension SignalProvider {
[35/46] Compiling Flow ReadWriteSignal.swift
/Users/admin/builder/spi-builder-workspace/Flow/ReadWriteSignal.swift:89:13: warning: var 'propertySetterKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 87 | }
 88 |
 89 | private var propertySetterKey = false
    |             |- warning: var 'propertySetterKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'propertySetterKey' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'propertySetterKey' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 90 |
 91 | internal extension SignalProvider {
[36/46] Compiling Flow Recursive.swift
/Users/admin/builder/spi-builder-workspace/Flow/ReadWriteSignal.swift:89:13: warning: var 'propertySetterKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 87 | }
 88 |
 89 | private var propertySetterKey = false
    |             |- warning: var 'propertySetterKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'propertySetterKey' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'propertySetterKey' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 90 |
 91 | internal extension SignalProvider {
[37/46] Compiling Flow Result.swift
/Users/admin/builder/spi-builder-workspace/Flow/ReadWriteSignal.swift:89:13: warning: var 'propertySetterKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 87 | }
 88 |
 89 | private var propertySetterKey = false
    |             |- warning: var 'propertySetterKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'propertySetterKey' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'propertySetterKey' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 90 |
 91 | internal extension SignalProvider {
[38/46] Compiling Flow Future+Additions.swift
/Users/admin/builder/spi-builder-workspace/Flow/Future.swift:323:5: warning: var 'futureUnitTestAliveCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
321 | }
322 |
323 | var futureUnitTestAliveCount: Int32 = 0
    |     |- warning: var 'futureUnitTestAliveCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |     |- note: convert 'futureUnitTestAliveCount' to a 'let' constant to make 'Sendable' shared state immutable
    |     |- note: add '@MainActor' to make var 'futureUnitTestAliveCount' part of global actor 'MainActor'
    |     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
324 |
325 | func memPrint(_ str: String, _ count: Int32) {
/Users/admin/builder/spi-builder-workspace/Flow/Future.swift:330:38: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
328 |
329 | private extension Future {
330 |     var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                      |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                      |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                      `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
331 |
332 |     private var protectedState: State {
[39/46] Compiling Flow Future+Combiners.swift
/Users/admin/builder/spi-builder-workspace/Flow/Future.swift:323:5: warning: var 'futureUnitTestAliveCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
321 | }
322 |
323 | var futureUnitTestAliveCount: Int32 = 0
    |     |- warning: var 'futureUnitTestAliveCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |     |- note: convert 'futureUnitTestAliveCount' to a 'let' constant to make 'Sendable' shared state immutable
    |     |- note: add '@MainActor' to make var 'futureUnitTestAliveCount' part of global actor 'MainActor'
    |     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
324 |
325 | func memPrint(_ str: String, _ count: Int32) {
/Users/admin/builder/spi-builder-workspace/Flow/Future.swift:330:38: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
328 |
329 | private extension Future {
330 |     var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                      |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                      |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                      `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
331 |
332 |     private var protectedState: State {
[40/46] Compiling Flow Future+Signal.swift
/Users/admin/builder/spi-builder-workspace/Flow/Future.swift:323:5: warning: var 'futureUnitTestAliveCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
321 | }
322 |
323 | var futureUnitTestAliveCount: Int32 = 0
    |     |- warning: var 'futureUnitTestAliveCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |     |- note: convert 'futureUnitTestAliveCount' to a 'let' constant to make 'Sendable' shared state immutable
    |     |- note: add '@MainActor' to make var 'futureUnitTestAliveCount' part of global actor 'MainActor'
    |     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
324 |
325 | func memPrint(_ str: String, _ count: Int32) {
/Users/admin/builder/spi-builder-workspace/Flow/Future.swift:330:38: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
328 |
329 | private extension Future {
330 |     var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                      |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                      |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                      `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
331 |
332 |     private var protectedState: State {
[41/46] Compiling Flow Future.swift
/Users/admin/builder/spi-builder-workspace/Flow/Future.swift:323:5: warning: var 'futureUnitTestAliveCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
321 | }
322 |
323 | var futureUnitTestAliveCount: Int32 = 0
    |     |- warning: var 'futureUnitTestAliveCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |     |- note: convert 'futureUnitTestAliveCount' to a 'let' constant to make 'Sendable' shared state immutable
    |     |- note: add '@MainActor' to make var 'futureUnitTestAliveCount' part of global actor 'MainActor'
    |     `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
324 |
325 | func memPrint(_ str: String, _ count: Int32) {
/Users/admin/builder/spi-builder-workspace/Flow/Future.swift:330:38: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
328 |
329 | private extension Future {
330 |     var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                      |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                      |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                      `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
331 |
332 |     private var protectedState: State {
[42/46] Compiling Flow Signal+SwiftUI.swift
/Users/admin/builder/spi-builder-workspace/Flow/Bridges/Signal+SwiftUI.swift:19:20: warning: capture of 'self' with non-sendable type 'CoreSignal<ReadWrite, Value>' in a '@Sendable' closure
17 |     public var asBinding: Binding<Value> {
18 |         Binding<Value>(
19 |             get: { self.value },
   |                    `- warning: capture of 'self' with non-sendable type 'CoreSignal<ReadWrite, Value>' in a '@Sendable' closure
20 |             set: { self.value = $0 }
21 |         )
/Users/admin/builder/spi-builder-workspace/Flow/CoreSignal.swift:21:20: note: generic class 'CoreSignal' does not conform to the 'Sendable' protocol
19 | /// applicable to more than one of kind of signal, it often makes sense to work directly with `CoreSignal` to
20 | /// allow sharing of implemtenations.
21 | public final class CoreSignal<Kind: SignalKind, Value> {
   |                    `- note: generic class 'CoreSignal' does not conform to the 'Sendable' protocol
22 |     internal let onEventType: (@escaping (EventType) -> Void) -> Disposable
23 |
/Users/admin/builder/spi-builder-workspace/Flow/Bridges/Signal+SwiftUI.swift:20:20: warning: capture of 'self' with non-sendable type 'CoreSignal<ReadWrite, Value>' in a '@Sendable' closure
18 |         Binding<Value>(
19 |             get: { self.value },
20 |             set: { self.value = $0 }
   |                    `- warning: capture of 'self' with non-sendable type 'CoreSignal<ReadWrite, Value>' in a '@Sendable' closure
21 |         )
22 |     }
/Users/admin/builder/spi-builder-workspace/Flow/CoreSignal.swift:21:20: note: generic class 'CoreSignal' does not conform to the 'Sendable' protocol
19 | /// applicable to more than one of kind of signal, it often makes sense to work directly with `CoreSignal` to
20 | /// allow sharing of implemtenations.
21 | public final class CoreSignal<Kind: SignalKind, Value> {
   |                    `- note: generic class 'CoreSignal' does not conform to the 'Sendable' protocol
22 |     internal let onEventType: (@escaping (EventType) -> Void) -> Disposable
23 |
/Users/admin/builder/spi-builder-workspace/Flow/Bridges/Signal+SwiftUI.swift:32:20: warning: capture of 'self' with non-sendable type 'CoreSignal<Read, Value>' in a '@Sendable' closure
30 |     public var asBinding: Binding<Value> {
31 |         Binding<Value>(
32 |             get: { self.value },
   |                    `- warning: capture of 'self' with non-sendable type 'CoreSignal<Read, Value>' in a '@Sendable' closure
33 |             set: { _ in }
34 |         )
/Users/admin/builder/spi-builder-workspace/Flow/CoreSignal.swift:21:20: note: generic class 'CoreSignal' does not conform to the 'Sendable' protocol
19 | /// applicable to more than one of kind of signal, it often makes sense to work directly with `CoreSignal` to
20 | /// allow sharing of implemtenations.
21 | public final class CoreSignal<Kind: SignalKind, Value> {
   |                    `- note: generic class 'CoreSignal' does not conform to the 'Sendable' protocol
22 |     internal let onEventType: (@escaping (EventType) -> Void) -> Disposable
23 |
/Users/admin/builder/spi-builder-workspace/Flow/Callbacker.swift:24:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 22 |     private var callbacks = Callbacks.none
 23 |     private var _mutex = pthread_mutex_t()
 24 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 25 |
 26 |     public init() {
/Users/admin/builder/spi-builder-workspace/Flow/Disposable.swift:32:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 30 |     private var disposer: (() -> ())?
 31 |     private var _mutex = pthread_mutex_t()
 32 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 33 |
 34 |     /// Pass a closure to be called when being disposed
/Users/admin/builder/spi-builder-workspace/Flow/Disposable.swift:62:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 60 |     private var disposables: [Disposable]
 61 |     private var _mutex = pthread_mutex_t()
 62 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 63 |
 64 |     /// Create an empty instance
[43/46] Compiling Flow Callbacker.swift
/Users/admin/builder/spi-builder-workspace/Flow/Bridges/Signal+SwiftUI.swift:19:20: warning: capture of 'self' with non-sendable type 'CoreSignal<ReadWrite, Value>' in a '@Sendable' closure
17 |     public var asBinding: Binding<Value> {
18 |         Binding<Value>(
19 |             get: { self.value },
   |                    `- warning: capture of 'self' with non-sendable type 'CoreSignal<ReadWrite, Value>' in a '@Sendable' closure
20 |             set: { self.value = $0 }
21 |         )
/Users/admin/builder/spi-builder-workspace/Flow/CoreSignal.swift:21:20: note: generic class 'CoreSignal' does not conform to the 'Sendable' protocol
19 | /// applicable to more than one of kind of signal, it often makes sense to work directly with `CoreSignal` to
20 | /// allow sharing of implemtenations.
21 | public final class CoreSignal<Kind: SignalKind, Value> {
   |                    `- note: generic class 'CoreSignal' does not conform to the 'Sendable' protocol
22 |     internal let onEventType: (@escaping (EventType) -> Void) -> Disposable
23 |
/Users/admin/builder/spi-builder-workspace/Flow/Bridges/Signal+SwiftUI.swift:20:20: warning: capture of 'self' with non-sendable type 'CoreSignal<ReadWrite, Value>' in a '@Sendable' closure
18 |         Binding<Value>(
19 |             get: { self.value },
20 |             set: { self.value = $0 }
   |                    `- warning: capture of 'self' with non-sendable type 'CoreSignal<ReadWrite, Value>' in a '@Sendable' closure
21 |         )
22 |     }
/Users/admin/builder/spi-builder-workspace/Flow/CoreSignal.swift:21:20: note: generic class 'CoreSignal' does not conform to the 'Sendable' protocol
19 | /// applicable to more than one of kind of signal, it often makes sense to work directly with `CoreSignal` to
20 | /// allow sharing of implemtenations.
21 | public final class CoreSignal<Kind: SignalKind, Value> {
   |                    `- note: generic class 'CoreSignal' does not conform to the 'Sendable' protocol
22 |     internal let onEventType: (@escaping (EventType) -> Void) -> Disposable
23 |
/Users/admin/builder/spi-builder-workspace/Flow/Bridges/Signal+SwiftUI.swift:32:20: warning: capture of 'self' with non-sendable type 'CoreSignal<Read, Value>' in a '@Sendable' closure
30 |     public var asBinding: Binding<Value> {
31 |         Binding<Value>(
32 |             get: { self.value },
   |                    `- warning: capture of 'self' with non-sendable type 'CoreSignal<Read, Value>' in a '@Sendable' closure
33 |             set: { _ in }
34 |         )
/Users/admin/builder/spi-builder-workspace/Flow/CoreSignal.swift:21:20: note: generic class 'CoreSignal' does not conform to the 'Sendable' protocol
19 | /// applicable to more than one of kind of signal, it often makes sense to work directly with `CoreSignal` to
20 | /// allow sharing of implemtenations.
21 | public final class CoreSignal<Kind: SignalKind, Value> {
   |                    `- note: generic class 'CoreSignal' does not conform to the 'Sendable' protocol
22 |     internal let onEventType: (@escaping (EventType) -> Void) -> Disposable
23 |
/Users/admin/builder/spi-builder-workspace/Flow/Callbacker.swift:24:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 22 |     private var callbacks = Callbacks.none
 23 |     private var _mutex = pthread_mutex_t()
 24 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 25 |
 26 |     public init() {
/Users/admin/builder/spi-builder-workspace/Flow/Disposable.swift:32:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 30 |     private var disposer: (() -> ())?
 31 |     private var _mutex = pthread_mutex_t()
 32 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 33 |
 34 |     /// Pass a closure to be called when being disposed
/Users/admin/builder/spi-builder-workspace/Flow/Disposable.swift:62:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 60 |     private var disposables: [Disposable]
 61 |     private var _mutex = pthread_mutex_t()
 62 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 63 |
 64 |     /// Create an empty instance
[44/46] Compiling Flow CoreSignal.swift
/Users/admin/builder/spi-builder-workspace/Flow/Bridges/Signal+SwiftUI.swift:19:20: warning: capture of 'self' with non-sendable type 'CoreSignal<ReadWrite, Value>' in a '@Sendable' closure
17 |     public var asBinding: Binding<Value> {
18 |         Binding<Value>(
19 |             get: { self.value },
   |                    `- warning: capture of 'self' with non-sendable type 'CoreSignal<ReadWrite, Value>' in a '@Sendable' closure
20 |             set: { self.value = $0 }
21 |         )
/Users/admin/builder/spi-builder-workspace/Flow/CoreSignal.swift:21:20: note: generic class 'CoreSignal' does not conform to the 'Sendable' protocol
19 | /// applicable to more than one of kind of signal, it often makes sense to work directly with `CoreSignal` to
20 | /// allow sharing of implemtenations.
21 | public final class CoreSignal<Kind: SignalKind, Value> {
   |                    `- note: generic class 'CoreSignal' does not conform to the 'Sendable' protocol
22 |     internal let onEventType: (@escaping (EventType) -> Void) -> Disposable
23 |
/Users/admin/builder/spi-builder-workspace/Flow/Bridges/Signal+SwiftUI.swift:20:20: warning: capture of 'self' with non-sendable type 'CoreSignal<ReadWrite, Value>' in a '@Sendable' closure
18 |         Binding<Value>(
19 |             get: { self.value },
20 |             set: { self.value = $0 }
   |                    `- warning: capture of 'self' with non-sendable type 'CoreSignal<ReadWrite, Value>' in a '@Sendable' closure
21 |         )
22 |     }
/Users/admin/builder/spi-builder-workspace/Flow/CoreSignal.swift:21:20: note: generic class 'CoreSignal' does not conform to the 'Sendable' protocol
19 | /// applicable to more than one of kind of signal, it often makes sense to work directly with `CoreSignal` to
20 | /// allow sharing of implemtenations.
21 | public final class CoreSignal<Kind: SignalKind, Value> {
   |                    `- note: generic class 'CoreSignal' does not conform to the 'Sendable' protocol
22 |     internal let onEventType: (@escaping (EventType) -> Void) -> Disposable
23 |
/Users/admin/builder/spi-builder-workspace/Flow/Bridges/Signal+SwiftUI.swift:32:20: warning: capture of 'self' with non-sendable type 'CoreSignal<Read, Value>' in a '@Sendable' closure
30 |     public var asBinding: Binding<Value> {
31 |         Binding<Value>(
32 |             get: { self.value },
   |                    `- warning: capture of 'self' with non-sendable type 'CoreSignal<Read, Value>' in a '@Sendable' closure
33 |             set: { _ in }
34 |         )
/Users/admin/builder/spi-builder-workspace/Flow/CoreSignal.swift:21:20: note: generic class 'CoreSignal' does not conform to the 'Sendable' protocol
19 | /// applicable to more than one of kind of signal, it often makes sense to work directly with `CoreSignal` to
20 | /// allow sharing of implemtenations.
21 | public final class CoreSignal<Kind: SignalKind, Value> {
   |                    `- note: generic class 'CoreSignal' does not conform to the 'Sendable' protocol
22 |     internal let onEventType: (@escaping (EventType) -> Void) -> Disposable
23 |
/Users/admin/builder/spi-builder-workspace/Flow/Callbacker.swift:24:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 22 |     private var callbacks = Callbacks.none
 23 |     private var _mutex = pthread_mutex_t()
 24 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 25 |
 26 |     public init() {
/Users/admin/builder/spi-builder-workspace/Flow/Disposable.swift:32:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 30 |     private var disposer: (() -> ())?
 31 |     private var _mutex = pthread_mutex_t()
 32 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 33 |
 34 |     /// Pass a closure to be called when being disposed
/Users/admin/builder/spi-builder-workspace/Flow/Disposable.swift:62:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 60 |     private var disposables: [Disposable]
 61 |     private var _mutex = pthread_mutex_t()
 62 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 63 |
 64 |     /// Create an empty instance
[45/46] Compiling Flow Delegate.swift
/Users/admin/builder/spi-builder-workspace/Flow/Bridges/Signal+SwiftUI.swift:19:20: warning: capture of 'self' with non-sendable type 'CoreSignal<ReadWrite, Value>' in a '@Sendable' closure
17 |     public var asBinding: Binding<Value> {
18 |         Binding<Value>(
19 |             get: { self.value },
   |                    `- warning: capture of 'self' with non-sendable type 'CoreSignal<ReadWrite, Value>' in a '@Sendable' closure
20 |             set: { self.value = $0 }
21 |         )
/Users/admin/builder/spi-builder-workspace/Flow/CoreSignal.swift:21:20: note: generic class 'CoreSignal' does not conform to the 'Sendable' protocol
19 | /// applicable to more than one of kind of signal, it often makes sense to work directly with `CoreSignal` to
20 | /// allow sharing of implemtenations.
21 | public final class CoreSignal<Kind: SignalKind, Value> {
   |                    `- note: generic class 'CoreSignal' does not conform to the 'Sendable' protocol
22 |     internal let onEventType: (@escaping (EventType) -> Void) -> Disposable
23 |
/Users/admin/builder/spi-builder-workspace/Flow/Bridges/Signal+SwiftUI.swift:20:20: warning: capture of 'self' with non-sendable type 'CoreSignal<ReadWrite, Value>' in a '@Sendable' closure
18 |         Binding<Value>(
19 |             get: { self.value },
20 |             set: { self.value = $0 }
   |                    `- warning: capture of 'self' with non-sendable type 'CoreSignal<ReadWrite, Value>' in a '@Sendable' closure
21 |         )
22 |     }
/Users/admin/builder/spi-builder-workspace/Flow/CoreSignal.swift:21:20: note: generic class 'CoreSignal' does not conform to the 'Sendable' protocol
19 | /// applicable to more than one of kind of signal, it often makes sense to work directly with `CoreSignal` to
20 | /// allow sharing of implemtenations.
21 | public final class CoreSignal<Kind: SignalKind, Value> {
   |                    `- note: generic class 'CoreSignal' does not conform to the 'Sendable' protocol
22 |     internal let onEventType: (@escaping (EventType) -> Void) -> Disposable
23 |
/Users/admin/builder/spi-builder-workspace/Flow/Bridges/Signal+SwiftUI.swift:32:20: warning: capture of 'self' with non-sendable type 'CoreSignal<Read, Value>' in a '@Sendable' closure
30 |     public var asBinding: Binding<Value> {
31 |         Binding<Value>(
32 |             get: { self.value },
   |                    `- warning: capture of 'self' with non-sendable type 'CoreSignal<Read, Value>' in a '@Sendable' closure
33 |             set: { _ in }
34 |         )
/Users/admin/builder/spi-builder-workspace/Flow/CoreSignal.swift:21:20: note: generic class 'CoreSignal' does not conform to the 'Sendable' protocol
19 | /// applicable to more than one of kind of signal, it often makes sense to work directly with `CoreSignal` to
20 | /// allow sharing of implemtenations.
21 | public final class CoreSignal<Kind: SignalKind, Value> {
   |                    `- note: generic class 'CoreSignal' does not conform to the 'Sendable' protocol
22 |     internal let onEventType: (@escaping (EventType) -> Void) -> Disposable
23 |
/Users/admin/builder/spi-builder-workspace/Flow/Callbacker.swift:24:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 22 |     private var callbacks = Callbacks.none
 23 |     private var _mutex = pthread_mutex_t()
 24 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 25 |
 26 |     public init() {
/Users/admin/builder/spi-builder-workspace/Flow/Disposable.swift:32:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 30 |     private var disposer: (() -> ())?
 31 |     private var _mutex = pthread_mutex_t()
 32 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 33 |
 34 |     /// Pass a closure to be called when being disposed
/Users/admin/builder/spi-builder-workspace/Flow/Disposable.swift:62:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 60 |     private var disposables: [Disposable]
 61 |     private var _mutex = pthread_mutex_t()
 62 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 63 |
 64 |     /// Create an empty instance
[46/46] Compiling Flow Disposable.swift
/Users/admin/builder/spi-builder-workspace/Flow/Bridges/Signal+SwiftUI.swift:19:20: warning: capture of 'self' with non-sendable type 'CoreSignal<ReadWrite, Value>' in a '@Sendable' closure
17 |     public var asBinding: Binding<Value> {
18 |         Binding<Value>(
19 |             get: { self.value },
   |                    `- warning: capture of 'self' with non-sendable type 'CoreSignal<ReadWrite, Value>' in a '@Sendable' closure
20 |             set: { self.value = $0 }
21 |         )
/Users/admin/builder/spi-builder-workspace/Flow/CoreSignal.swift:21:20: note: generic class 'CoreSignal' does not conform to the 'Sendable' protocol
19 | /// applicable to more than one of kind of signal, it often makes sense to work directly with `CoreSignal` to
20 | /// allow sharing of implemtenations.
21 | public final class CoreSignal<Kind: SignalKind, Value> {
   |                    `- note: generic class 'CoreSignal' does not conform to the 'Sendable' protocol
22 |     internal let onEventType: (@escaping (EventType) -> Void) -> Disposable
23 |
/Users/admin/builder/spi-builder-workspace/Flow/Bridges/Signal+SwiftUI.swift:20:20: warning: capture of 'self' with non-sendable type 'CoreSignal<ReadWrite, Value>' in a '@Sendable' closure
18 |         Binding<Value>(
19 |             get: { self.value },
20 |             set: { self.value = $0 }
   |                    `- warning: capture of 'self' with non-sendable type 'CoreSignal<ReadWrite, Value>' in a '@Sendable' closure
21 |         )
22 |     }
/Users/admin/builder/spi-builder-workspace/Flow/CoreSignal.swift:21:20: note: generic class 'CoreSignal' does not conform to the 'Sendable' protocol
19 | /// applicable to more than one of kind of signal, it often makes sense to work directly with `CoreSignal` to
20 | /// allow sharing of implemtenations.
21 | public final class CoreSignal<Kind: SignalKind, Value> {
   |                    `- note: generic class 'CoreSignal' does not conform to the 'Sendable' protocol
22 |     internal let onEventType: (@escaping (EventType) -> Void) -> Disposable
23 |
/Users/admin/builder/spi-builder-workspace/Flow/Bridges/Signal+SwiftUI.swift:32:20: warning: capture of 'self' with non-sendable type 'CoreSignal<Read, Value>' in a '@Sendable' closure
30 |     public var asBinding: Binding<Value> {
31 |         Binding<Value>(
32 |             get: { self.value },
   |                    `- warning: capture of 'self' with non-sendable type 'CoreSignal<Read, Value>' in a '@Sendable' closure
33 |             set: { _ in }
34 |         )
/Users/admin/builder/spi-builder-workspace/Flow/CoreSignal.swift:21:20: note: generic class 'CoreSignal' does not conform to the 'Sendable' protocol
19 | /// applicable to more than one of kind of signal, it often makes sense to work directly with `CoreSignal` to
20 | /// allow sharing of implemtenations.
21 | public final class CoreSignal<Kind: SignalKind, Value> {
   |                    `- note: generic class 'CoreSignal' does not conform to the 'Sendable' protocol
22 |     internal let onEventType: (@escaping (EventType) -> Void) -> Disposable
23 |
/Users/admin/builder/spi-builder-workspace/Flow/Callbacker.swift:24:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 22 |     private var callbacks = Callbacks.none
 23 |     private var _mutex = pthread_mutex_t()
 24 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 25 |
 26 |     public init() {
/Users/admin/builder/spi-builder-workspace/Flow/Disposable.swift:32:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 30 |     private var disposer: (() -> ())?
 31 |     private var _mutex = pthread_mutex_t()
 32 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 33 |
 34 |     /// Pass a closure to be called when being disposed
/Users/admin/builder/spi-builder-workspace/Flow/Disposable.swift:62:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 60 |     private var disposables: [Disposable]
 61 |     private var _mutex = pthread_mutex_t()
 62 |     private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
    |                                              |            |- note: implicit argument conversion from 'pthread_mutex_t' (aka '_opaque_pthread_mutex_t') to 'UnsafeMutablePointer<pthread_mutex_t>' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') produces a pointer valid only for the duration of the call to 'init(_:)'
    |                                              |            `- note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    |                                              `- warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<_opaque_pthread_mutex_t>') results in a dangling pointer
 63 |
 64 |     /// Create an empty instance
Build complete! (9.46s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Flow",
  "name" : "Flow",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "Flow",
      "targets" : [
        "Flow"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "FlowTests",
      "module_type" : "SwiftTarget",
      "name" : "FlowTests",
      "path" : "FlowTests",
      "sources" : [
        "CallbackerTests.swift",
        "DelegateTests.swift",
        "EitherTests.swift",
        "EventListenerTests.swift",
        "Future+CombineTests.swift",
        "FutureAdditionsTests.swift",
        "FutureBasicTests.swift",
        "FutureQueueTests.swift",
        "FutureRepeatTests.swift",
        "FutureSchedulingTests.swift",
        "FutureSplitTests.swift",
        "FutureUtilitiesTests.swift",
        "MemoryUtilsTests.swift",
        "MultipleContinuationsTests.swift",
        "PrefetchTests.swift",
        "PropertyTests.swift",
        "RecursiveTests.swift",
        "Signal+CombineTests.swift",
        "SignalConcurrenceyTests.swift",
        "SignalProviderTests+Internal.swift",
        "SignalProviderTests.swift",
        "SignalTests.swift",
        "TestUtilities.swift",
        "UIViewSignalTests.swift"
      ],
      "target_dependencies" : [
        "Flow"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Flow",
      "module_type" : "SwiftTarget",
      "name" : "Flow",
      "path" : "Flow",
      "product_memberships" : [
        "Flow"
      ],
      "sources" : [
        "Bridges/CancelBag.swift",
        "Bridges/Disposable+Cancellable.swift",
        "Bridges/Future+Combine.swift",
        "Bridges/Publisher+Utilities.swift",
        "Bridges/Signal+Combine.swift",
        "Bridges/Signal+SwiftUI.swift",
        "Callbacker.swift",
        "CoreSignal.swift",
        "Delegate.swift",
        "Disposable.swift",
        "Either.swift",
        "Enablable.swift",
        "Event.swift",
        "EventType.swift",
        "FiniteSignal.swift",
        "Future+Additions.swift",
        "Future+Combiners.swift",
        "Future+Signal.swift",
        "Future.swift",
        "FutureQueue.swift",
        "HasEventListeners.swift",
        "Locking.swift",
        "OrderedCallbacker.swift",
        "ReadSignal.swift",
        "ReadWriteSignal.swift",
        "Recursive.swift",
        "Result.swift",
        "Scheduler.swift",
        "Signal+Combiners.swift",
        "Signal+Construction.swift",
        "Signal+Debug.swift",
        "Signal+KeyValueObserving.swift",
        "Signal+Listeners.swift",
        "Signal+Scheduling.swift",
        "Signal+Transforms.swift",
        "Signal+Utilities.swift",
        "Signal.swift",
        "SignalProvider.swift",
        "TargetActionable.swift",
        "UIControls+Extensions.swift",
        "UIView+EditingMenu.swift",
        "UIView+Signal.swift",
        "Utilities.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.0"
}
Done.