The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Failed to build Flow, reference 1.12.1 (c3e69f), with Swift 5.9 for Linux on 26 Sep 2024 11:26:52 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-5.9-latest swift build --triple x86_64-unknown-linux-gnu 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.54.2
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/iZettle/Flow.git
Reference: 1.12.1
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/iZettle/Flow
 * tag               1.12.1     -> FETCH_HEAD
HEAD is now at c3e69f9 Remove `dynamic` from package definition (#129)
Cloned https://github.com/iZettle/Flow.git
Revision (git rev-parse @):
c3e69f924f046207487948dcad55826343a122d5
SUCCESS checkout https://github.com/iZettle/Flow.git at 1.12.1
========================================
Build
========================================
Selected platform:         linux
Swift version:             5.9
Building package at path:  $PWD
https://github.com/iZettle/Flow.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-5.9-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-5.9-latest: Pulling from finestructure/spi-images
Digest: sha256:66706f89ac15d55dcb11e8d3274e2fe11925b5da93d240b09d5a1eb775db6cc2
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-5.9-latest
Building for debugging...
error: emit-module command failed with exit code 1 (use -v to see invocation)
[1/39] Emitting module Flow
/host/spi-builder-workspace/Flow/Future+Additions.swift:334:46: error: cannot find type 'NSInteger' in scope
    func repeatAndCollect(repeatCount count: NSInteger, delayBetweenRepetitions delay: TimeInterval? = nil) -> Future<[Value]> {
                                             ^~~~~~~~~
/host/spi-builder-workspace/Flow/Scheduler.swift:220:42: error: cannot convert value of type '@convention(c) (UnsafeMutableRawPointer) -> Void' to expected argument type '(@convention(c) (UnsafeMutableRawPointer?) -> Void)?'
    pthread_key_create(&_threadStateKey, cleanup)
                                         ^
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:12:18: error: cannot find type '_KeyValueCodingAndObserving' in scope
public extension _KeyValueCodingAndObserving {
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/TargetActionable.swift:13:17: error: cannot find type 'Selector' in scope
    var action: Selector? { get set }
                ^~~~~~~~
/host/spi-builder-workspace/Flow/TargetActionable.swift:57:33: error: cannot find type 'Selector' in scope
    public static let selector: Selector = #selector(TargetAction.flowOnAction)
                                ^~~~~~~~
/host/spi-builder-workspace/Flow/TargetActionable.swift:64:6: error: Objective-C interoperability is disabled
    @objc func flowOnAction() {
    ~^~~~~

[2/44] Compiling Flow CancelBag.swift
[3/44] Compiling Flow Disposable+Cancellable.swift
[4/44] Compiling Flow Future+Combine.swift
[5/44] Compiling Flow Publisher+Utilities.swift
[6/44] Compiling Flow Signal+Combine.swift
[7/44] Compiling Flow Signal+SwiftUI.swift
[8/44] Compiling Flow Future.swift
/host/spi-builder-workspace/Flow/Future.swift:101:9: error: cannot find 'OSAtomicIncrement32' in scope
        OSAtomicIncrement32(&futureUnitTestAliveCount)
        ^~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Future.swift:141:9: error: cannot find 'OSAtomicIncrement32' in scope
        OSAtomicIncrement32(&futureUnitTestAliveCount)
        ^~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Future.swift:150:9: error: cannot find 'OSAtomicDecrement32' in scope
        OSAtomicDecrement32(&futureUnitTestAliveCount)
        ^~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Future.swift:330:38: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                     ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Future.swift:330:51: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                  ^~~~~~~
/host/spi-builder-workspace/Flow/Future.swift:330:51: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                  ^
/host/spi-builder-workspace/Flow/FutureQueue.swift:42:9: error: cannot find 'OSAtomicIncrement32' in scope
        OSAtomicIncrement32(&futureQueueUnitTestAliveCount)
        ^~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:47:9: error: cannot find 'OSAtomicDecrement32' in scope
        OSAtomicDecrement32(&futureQueueUnitTestAliveCount)
        ^~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:172:38: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                     ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:172:51: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                  ^~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:172:51: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                  ^
/host/spi-builder-workspace/Flow/FutureQueue.swift:224:9: error: cannot find 'OSAtomicIncrement32' in scope
        OSAtomicIncrement32(&queueItemUnitTestAliveCount)
        ^~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:230:9: error: cannot find 'OSAtomicDecrement32' in scope
        OSAtomicDecrement32(&queueItemUnitTestAliveCount)
        ^~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:234:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:234:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:234:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Locking.swift:14:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Locking.swift:14:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Locking.swift:14:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Locking.swift:54:42: error: cannot convert value of type 'Int' to expected argument type 'Int32'
        pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_NORMAL)
                                         ^
                                         Int32(              )
/host/spi-builder-workspace/Flow/Locking.swift:90:50: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    fileprivate var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                 ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Locking.swift:90:63: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    fileprivate var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                              ^~~~~~~
/host/spi-builder-workspace/Flow/Locking.swift:90:63: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    fileprivate var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                              ^
/host/spi-builder-workspace/Flow/OrderedCallbacker.swift:18:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/OrderedCallbacker.swift:18:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/OrderedCallbacker.swift:18:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
[9/44] Compiling Flow FutureQueue.swift
/host/spi-builder-workspace/Flow/Future.swift:101:9: error: cannot find 'OSAtomicIncrement32' in scope
        OSAtomicIncrement32(&futureUnitTestAliveCount)
        ^~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Future.swift:141:9: error: cannot find 'OSAtomicIncrement32' in scope
        OSAtomicIncrement32(&futureUnitTestAliveCount)
        ^~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Future.swift:150:9: error: cannot find 'OSAtomicDecrement32' in scope
        OSAtomicDecrement32(&futureUnitTestAliveCount)
        ^~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Future.swift:330:38: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                     ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Future.swift:330:51: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                  ^~~~~~~
/host/spi-builder-workspace/Flow/Future.swift:330:51: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                  ^
/host/spi-builder-workspace/Flow/FutureQueue.swift:42:9: error: cannot find 'OSAtomicIncrement32' in scope
        OSAtomicIncrement32(&futureQueueUnitTestAliveCount)
        ^~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:47:9: error: cannot find 'OSAtomicDecrement32' in scope
        OSAtomicDecrement32(&futureQueueUnitTestAliveCount)
        ^~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:172:38: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                     ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:172:51: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                  ^~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:172:51: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                  ^
/host/spi-builder-workspace/Flow/FutureQueue.swift:224:9: error: cannot find 'OSAtomicIncrement32' in scope
        OSAtomicIncrement32(&queueItemUnitTestAliveCount)
        ^~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:230:9: error: cannot find 'OSAtomicDecrement32' in scope
        OSAtomicDecrement32(&queueItemUnitTestAliveCount)
        ^~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:234:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:234:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:234:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Locking.swift:14:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Locking.swift:14:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Locking.swift:14:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Locking.swift:54:42: error: cannot convert value of type 'Int' to expected argument type 'Int32'
        pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_NORMAL)
                                         ^
                                         Int32(              )
/host/spi-builder-workspace/Flow/Locking.swift:90:50: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    fileprivate var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                 ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Locking.swift:90:63: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    fileprivate var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                              ^~~~~~~
/host/spi-builder-workspace/Flow/Locking.swift:90:63: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    fileprivate var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                              ^
/host/spi-builder-workspace/Flow/OrderedCallbacker.swift:18:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/OrderedCallbacker.swift:18:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/OrderedCallbacker.swift:18:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
[10/44] Compiling Flow HasEventListeners.swift
/host/spi-builder-workspace/Flow/Future.swift:101:9: error: cannot find 'OSAtomicIncrement32' in scope
        OSAtomicIncrement32(&futureUnitTestAliveCount)
        ^~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Future.swift:141:9: error: cannot find 'OSAtomicIncrement32' in scope
        OSAtomicIncrement32(&futureUnitTestAliveCount)
        ^~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Future.swift:150:9: error: cannot find 'OSAtomicDecrement32' in scope
        OSAtomicDecrement32(&futureUnitTestAliveCount)
        ^~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Future.swift:330:38: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                     ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Future.swift:330:51: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                  ^~~~~~~
/host/spi-builder-workspace/Flow/Future.swift:330:51: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                  ^
/host/spi-builder-workspace/Flow/FutureQueue.swift:42:9: error: cannot find 'OSAtomicIncrement32' in scope
        OSAtomicIncrement32(&futureQueueUnitTestAliveCount)
        ^~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:47:9: error: cannot find 'OSAtomicDecrement32' in scope
        OSAtomicDecrement32(&futureQueueUnitTestAliveCount)
        ^~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:172:38: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                     ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:172:51: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                  ^~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:172:51: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                  ^
/host/spi-builder-workspace/Flow/FutureQueue.swift:224:9: error: cannot find 'OSAtomicIncrement32' in scope
        OSAtomicIncrement32(&queueItemUnitTestAliveCount)
        ^~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:230:9: error: cannot find 'OSAtomicDecrement32' in scope
        OSAtomicDecrement32(&queueItemUnitTestAliveCount)
        ^~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:234:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:234:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:234:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Locking.swift:14:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Locking.swift:14:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Locking.swift:14:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Locking.swift:54:42: error: cannot convert value of type 'Int' to expected argument type 'Int32'
        pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_NORMAL)
                                         ^
                                         Int32(              )
/host/spi-builder-workspace/Flow/Locking.swift:90:50: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    fileprivate var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                 ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Locking.swift:90:63: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    fileprivate var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                              ^~~~~~~
/host/spi-builder-workspace/Flow/Locking.swift:90:63: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    fileprivate var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                              ^
/host/spi-builder-workspace/Flow/OrderedCallbacker.swift:18:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/OrderedCallbacker.swift:18:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/OrderedCallbacker.swift:18:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
[11/44] Compiling Flow Locking.swift
/host/spi-builder-workspace/Flow/Future.swift:101:9: error: cannot find 'OSAtomicIncrement32' in scope
        OSAtomicIncrement32(&futureUnitTestAliveCount)
        ^~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Future.swift:141:9: error: cannot find 'OSAtomicIncrement32' in scope
        OSAtomicIncrement32(&futureUnitTestAliveCount)
        ^~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Future.swift:150:9: error: cannot find 'OSAtomicDecrement32' in scope
        OSAtomicDecrement32(&futureUnitTestAliveCount)
        ^~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Future.swift:330:38: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                     ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Future.swift:330:51: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                  ^~~~~~~
/host/spi-builder-workspace/Flow/Future.swift:330:51: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                  ^
/host/spi-builder-workspace/Flow/FutureQueue.swift:42:9: error: cannot find 'OSAtomicIncrement32' in scope
        OSAtomicIncrement32(&futureQueueUnitTestAliveCount)
        ^~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:47:9: error: cannot find 'OSAtomicDecrement32' in scope
        OSAtomicDecrement32(&futureQueueUnitTestAliveCount)
        ^~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:172:38: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                     ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:172:51: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                  ^~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:172:51: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                  ^
/host/spi-builder-workspace/Flow/FutureQueue.swift:224:9: error: cannot find 'OSAtomicIncrement32' in scope
        OSAtomicIncrement32(&queueItemUnitTestAliveCount)
        ^~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:230:9: error: cannot find 'OSAtomicDecrement32' in scope
        OSAtomicDecrement32(&queueItemUnitTestAliveCount)
        ^~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:234:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:234:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:234:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Locking.swift:14:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Locking.swift:14:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Locking.swift:14:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Locking.swift:54:42: error: cannot convert value of type 'Int' to expected argument type 'Int32'
        pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_NORMAL)
                                         ^
                                         Int32(              )
/host/spi-builder-workspace/Flow/Locking.swift:90:50: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    fileprivate var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                 ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Locking.swift:90:63: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    fileprivate var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                              ^~~~~~~
/host/spi-builder-workspace/Flow/Locking.swift:90:63: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    fileprivate var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                              ^
/host/spi-builder-workspace/Flow/OrderedCallbacker.swift:18:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/OrderedCallbacker.swift:18:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/OrderedCallbacker.swift:18:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
[12/44] Compiling Flow OrderedCallbacker.swift
/host/spi-builder-workspace/Flow/Future.swift:101:9: error: cannot find 'OSAtomicIncrement32' in scope
        OSAtomicIncrement32(&futureUnitTestAliveCount)
        ^~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Future.swift:141:9: error: cannot find 'OSAtomicIncrement32' in scope
        OSAtomicIncrement32(&futureUnitTestAliveCount)
        ^~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Future.swift:150:9: error: cannot find 'OSAtomicDecrement32' in scope
        OSAtomicDecrement32(&futureUnitTestAliveCount)
        ^~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Future.swift:330:38: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                     ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Future.swift:330:51: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                  ^~~~~~~
/host/spi-builder-workspace/Flow/Future.swift:330:51: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                  ^
/host/spi-builder-workspace/Flow/FutureQueue.swift:42:9: error: cannot find 'OSAtomicIncrement32' in scope
        OSAtomicIncrement32(&futureQueueUnitTestAliveCount)
        ^~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:47:9: error: cannot find 'OSAtomicDecrement32' in scope
        OSAtomicDecrement32(&futureQueueUnitTestAliveCount)
        ^~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:172:38: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                     ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:172:51: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                  ^~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:172:51: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                  ^
/host/spi-builder-workspace/Flow/FutureQueue.swift:224:9: error: cannot find 'OSAtomicIncrement32' in scope
        OSAtomicIncrement32(&queueItemUnitTestAliveCount)
        ^~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:230:9: error: cannot find 'OSAtomicDecrement32' in scope
        OSAtomicDecrement32(&queueItemUnitTestAliveCount)
        ^~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:234:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:234:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/FutureQueue.swift:234:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Locking.swift:14:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Locking.swift:14:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Locking.swift:14:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Locking.swift:54:42: error: cannot convert value of type 'Int' to expected argument type 'Int32'
        pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_NORMAL)
                                         ^
                                         Int32(              )
/host/spi-builder-workspace/Flow/Locking.swift:90:50: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    fileprivate var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                 ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Locking.swift:90:63: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    fileprivate var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                              ^~~~~~~
/host/spi-builder-workspace/Flow/Locking.swift:90:63: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    fileprivate var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                              ^
/host/spi-builder-workspace/Flow/OrderedCallbacker.swift:18:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/OrderedCallbacker.swift:18:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/OrderedCallbacker.swift:18:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
[13/44] Compiling Flow Callbacker.swift
/host/spi-builder-workspace/Flow/Callbacker.swift:24:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Callbacker.swift:24:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Callbacker.swift:24:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Disposable.swift:32:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Disposable.swift:32:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Disposable.swift:32:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Disposable.swift:62:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Disposable.swift:62:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Disposable.swift:62:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Enablable.swift:49:20: error: cannot find 'objc_getAssociatedObject' in scope
            return objc_getAssociatedObject(self, &enablesAutomaticallyKey) as? Bool ?? false
                   ^~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Enablable.swift:52:13: error: cannot find 'objc_setAssociatedObject' in scope
            objc_setAssociatedObject(self, &enablesAutomaticallyKey, newValue ? true : nil, .OBJC_ASSOCIATION_RETAIN)
            ^~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Enablable.swift:52:94: error: cannot infer contextual base in reference to member 'OBJC_ASSOCIATION_RETAIN'
            objc_setAssociatedObject(self, &enablesAutomaticallyKey, newValue ? true : nil, .OBJC_ASSOCIATION_RETAIN)
                                                                                            ~^~~~~~~~~~~~~~~~~~~~~~~
[14/44] Compiling Flow CoreSignal.swift
/host/spi-builder-workspace/Flow/Callbacker.swift:24:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Callbacker.swift:24:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Callbacker.swift:24:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Disposable.swift:32:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Disposable.swift:32:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Disposable.swift:32:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Disposable.swift:62:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Disposable.swift:62:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Disposable.swift:62:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Enablable.swift:49:20: error: cannot find 'objc_getAssociatedObject' in scope
            return objc_getAssociatedObject(self, &enablesAutomaticallyKey) as? Bool ?? false
                   ^~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Enablable.swift:52:13: error: cannot find 'objc_setAssociatedObject' in scope
            objc_setAssociatedObject(self, &enablesAutomaticallyKey, newValue ? true : nil, .OBJC_ASSOCIATION_RETAIN)
            ^~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Enablable.swift:52:94: error: cannot infer contextual base in reference to member 'OBJC_ASSOCIATION_RETAIN'
            objc_setAssociatedObject(self, &enablesAutomaticallyKey, newValue ? true : nil, .OBJC_ASSOCIATION_RETAIN)
                                                                                            ~^~~~~~~~~~~~~~~~~~~~~~~
[15/44] Compiling Flow Delegate.swift
/host/spi-builder-workspace/Flow/Callbacker.swift:24:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Callbacker.swift:24:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Callbacker.swift:24:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Disposable.swift:32:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Disposable.swift:32:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Disposable.swift:32:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Disposable.swift:62:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Disposable.swift:62:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Disposable.swift:62:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Enablable.swift:49:20: error: cannot find 'objc_getAssociatedObject' in scope
            return objc_getAssociatedObject(self, &enablesAutomaticallyKey) as? Bool ?? false
                   ^~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Enablable.swift:52:13: error: cannot find 'objc_setAssociatedObject' in scope
            objc_setAssociatedObject(self, &enablesAutomaticallyKey, newValue ? true : nil, .OBJC_ASSOCIATION_RETAIN)
            ^~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Enablable.swift:52:94: error: cannot infer contextual base in reference to member 'OBJC_ASSOCIATION_RETAIN'
            objc_setAssociatedObject(self, &enablesAutomaticallyKey, newValue ? true : nil, .OBJC_ASSOCIATION_RETAIN)
                                                                                            ~^~~~~~~~~~~~~~~~~~~~~~~
[16/44] Compiling Flow Disposable.swift
/host/spi-builder-workspace/Flow/Callbacker.swift:24:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Callbacker.swift:24:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Callbacker.swift:24:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Disposable.swift:32:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Disposable.swift:32:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Disposable.swift:32:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Disposable.swift:62:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Disposable.swift:62:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Disposable.swift:62:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Enablable.swift:49:20: error: cannot find 'objc_getAssociatedObject' in scope
            return objc_getAssociatedObject(self, &enablesAutomaticallyKey) as? Bool ?? false
                   ^~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Enablable.swift:52:13: error: cannot find 'objc_setAssociatedObject' in scope
            objc_setAssociatedObject(self, &enablesAutomaticallyKey, newValue ? true : nil, .OBJC_ASSOCIATION_RETAIN)
            ^~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Enablable.swift:52:94: error: cannot infer contextual base in reference to member 'OBJC_ASSOCIATION_RETAIN'
            objc_setAssociatedObject(self, &enablesAutomaticallyKey, newValue ? true : nil, .OBJC_ASSOCIATION_RETAIN)
                                                                                            ~^~~~~~~~~~~~~~~~~~~~~~~
[17/44] Compiling Flow Either.swift
/host/spi-builder-workspace/Flow/Callbacker.swift:24:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Callbacker.swift:24:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Callbacker.swift:24:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Disposable.swift:32:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Disposable.swift:32:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Disposable.swift:32:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Disposable.swift:62:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Disposable.swift:62:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Disposable.swift:62:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Enablable.swift:49:20: error: cannot find 'objc_getAssociatedObject' in scope
            return objc_getAssociatedObject(self, &enablesAutomaticallyKey) as? Bool ?? false
                   ^~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Enablable.swift:52:13: error: cannot find 'objc_setAssociatedObject' in scope
            objc_setAssociatedObject(self, &enablesAutomaticallyKey, newValue ? true : nil, .OBJC_ASSOCIATION_RETAIN)
            ^~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Enablable.swift:52:94: error: cannot infer contextual base in reference to member 'OBJC_ASSOCIATION_RETAIN'
            objc_setAssociatedObject(self, &enablesAutomaticallyKey, newValue ? true : nil, .OBJC_ASSOCIATION_RETAIN)
                                                                                            ~^~~~~~~~~~~~~~~~~~~~~~~
[18/44] Compiling Flow Enablable.swift
/host/spi-builder-workspace/Flow/Callbacker.swift:24:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Callbacker.swift:24:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Callbacker.swift:24:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Disposable.swift:32:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Disposable.swift:32:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Disposable.swift:32:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Disposable.swift:62:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Disposable.swift:62:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Disposable.swift:62:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Enablable.swift:49:20: error: cannot find 'objc_getAssociatedObject' in scope
            return objc_getAssociatedObject(self, &enablesAutomaticallyKey) as? Bool ?? false
                   ^~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Enablable.swift:52:13: error: cannot find 'objc_setAssociatedObject' in scope
            objc_setAssociatedObject(self, &enablesAutomaticallyKey, newValue ? true : nil, .OBJC_ASSOCIATION_RETAIN)
            ^~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Enablable.swift:52:94: error: cannot infer contextual base in reference to member 'OBJC_ASSOCIATION_RETAIN'
            objc_setAssociatedObject(self, &enablesAutomaticallyKey, newValue ? true : nil, .OBJC_ASSOCIATION_RETAIN)
                                                                                            ~^~~~~~~~~~~~~~~~~~~~~~~
[19/44] Compiling Flow ReadSignal.swift
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/ReadWriteSignal.swift:93:16: error: cannot find 'objc_getAssociatedObject' in scope
        return objc_getAssociatedObject(providedSignal, &propertySetterKey) as? (Value) -> ()
               ^~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/ReadWriteSignal.swift:101:13: error: cannot find 'objc_setAssociatedObject' in scope
            objc_setAssociatedObject(self, &propertySetterKey, setter, .OBJC_ASSOCIATION_RETAIN)
            ^~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/ReadWriteSignal.swift:101:73: error: cannot infer contextual base in reference to member 'OBJC_ASSOCIATION_RETAIN'
            objc_setAssociatedObject(self, &propertySetterKey, setter, .OBJC_ASSOCIATION_RETAIN)
                                                                       ~^~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Scheduler.swift:220:42: error: cannot convert value of type '@convention(c) (UnsafeMutableRawPointer) -> Void' to expected argument type '(@convention(c) (UnsafeMutableRawPointer?) -> Void)?'
    pthread_key_create(&_threadStateKey, cleanup)
                                         ^
[20/44] Compiling Flow ReadWriteSignal.swift
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/ReadWriteSignal.swift:93:16: error: cannot find 'objc_getAssociatedObject' in scope
        return objc_getAssociatedObject(providedSignal, &propertySetterKey) as? (Value) -> ()
               ^~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/ReadWriteSignal.swift:101:13: error: cannot find 'objc_setAssociatedObject' in scope
            objc_setAssociatedObject(self, &propertySetterKey, setter, .OBJC_ASSOCIATION_RETAIN)
            ^~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/ReadWriteSignal.swift:101:73: error: cannot infer contextual base in reference to member 'OBJC_ASSOCIATION_RETAIN'
            objc_setAssociatedObject(self, &propertySetterKey, setter, .OBJC_ASSOCIATION_RETAIN)
                                                                       ~^~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Scheduler.swift:220:42: error: cannot convert value of type '@convention(c) (UnsafeMutableRawPointer) -> Void' to expected argument type '(@convention(c) (UnsafeMutableRawPointer?) -> Void)?'
    pthread_key_create(&_threadStateKey, cleanup)
                                         ^
[21/44] Compiling Flow Recursive.swift
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/ReadWriteSignal.swift:93:16: error: cannot find 'objc_getAssociatedObject' in scope
        return objc_getAssociatedObject(providedSignal, &propertySetterKey) as? (Value) -> ()
               ^~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/ReadWriteSignal.swift:101:13: error: cannot find 'objc_setAssociatedObject' in scope
            objc_setAssociatedObject(self, &propertySetterKey, setter, .OBJC_ASSOCIATION_RETAIN)
            ^~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/ReadWriteSignal.swift:101:73: error: cannot infer contextual base in reference to member 'OBJC_ASSOCIATION_RETAIN'
            objc_setAssociatedObject(self, &propertySetterKey, setter, .OBJC_ASSOCIATION_RETAIN)
                                                                       ~^~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Scheduler.swift:220:42: error: cannot convert value of type '@convention(c) (UnsafeMutableRawPointer) -> Void' to expected argument type '(@convention(c) (UnsafeMutableRawPointer?) -> Void)?'
    pthread_key_create(&_threadStateKey, cleanup)
                                         ^
[22/44] Compiling Flow Result.swift
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/ReadWriteSignal.swift:93:16: error: cannot find 'objc_getAssociatedObject' in scope
        return objc_getAssociatedObject(providedSignal, &propertySetterKey) as? (Value) -> ()
               ^~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/ReadWriteSignal.swift:101:13: error: cannot find 'objc_setAssociatedObject' in scope
            objc_setAssociatedObject(self, &propertySetterKey, setter, .OBJC_ASSOCIATION_RETAIN)
            ^~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/ReadWriteSignal.swift:101:73: error: cannot infer contextual base in reference to member 'OBJC_ASSOCIATION_RETAIN'
            objc_setAssociatedObject(self, &propertySetterKey, setter, .OBJC_ASSOCIATION_RETAIN)
                                                                       ~^~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Scheduler.swift:220:42: error: cannot convert value of type '@convention(c) (UnsafeMutableRawPointer) -> Void' to expected argument type '(@convention(c) (UnsafeMutableRawPointer?) -> Void)?'
    pthread_key_create(&_threadStateKey, cleanup)
                                         ^
[23/44] Compiling Flow Scheduler.swift
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/ReadWriteSignal.swift:93:16: error: cannot find 'objc_getAssociatedObject' in scope
        return objc_getAssociatedObject(providedSignal, &propertySetterKey) as? (Value) -> ()
               ^~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/ReadWriteSignal.swift:101:13: error: cannot find 'objc_setAssociatedObject' in scope
            objc_setAssociatedObject(self, &propertySetterKey, setter, .OBJC_ASSOCIATION_RETAIN)
            ^~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/ReadWriteSignal.swift:101:73: error: cannot infer contextual base in reference to member 'OBJC_ASSOCIATION_RETAIN'
            objc_setAssociatedObject(self, &propertySetterKey, setter, .OBJC_ASSOCIATION_RETAIN)
                                                                       ~^~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Scheduler.swift:220:42: error: cannot convert value of type '@convention(c) (UnsafeMutableRawPointer) -> Void' to expected argument type '(@convention(c) (UnsafeMutableRawPointer?) -> Void)?'
    pthread_key_create(&_threadStateKey, cleanup)
                                         ^
[24/44] Compiling Flow TargetActionable.swift
/host/spi-builder-workspace/Flow/TargetActionable.swift:13:17: error: cannot find type 'Selector' in scope
    var action: Selector? { get set }
                ^~~~~~~~
/host/spi-builder-workspace/Flow/TargetActionable.swift:57:33: error: cannot find type 'Selector' in scope
    public static let selector: Selector = #selector(TargetAction.flowOnAction)
                                ^~~~~~~~
/host/spi-builder-workspace/Flow/TargetActionable.swift:64:6: error: Objective-C interoperability is disabled
    @objc func flowOnAction() {
    ~^~~~~

/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/TargetActionable.swift:40:35: error: 'nil' requires a contextual type
                    self.action = nil
                                  ^
/host/spi-builder-workspace/Flow/TargetActionable.swift:40:35: error: 'nil' requires a contextual type
                    self.action = nil
                                  ^
[25/44] Compiling Flow UIControls+Extensions.swift
/host/spi-builder-workspace/Flow/TargetActionable.swift:13:17: error: cannot find type 'Selector' in scope
    var action: Selector? { get set }
                ^~~~~~~~
/host/spi-builder-workspace/Flow/TargetActionable.swift:57:33: error: cannot find type 'Selector' in scope
    public static let selector: Selector = #selector(TargetAction.flowOnAction)
                                ^~~~~~~~
/host/spi-builder-workspace/Flow/TargetActionable.swift:64:6: error: Objective-C interoperability is disabled
    @objc func flowOnAction() {
    ~^~~~~

/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/TargetActionable.swift:40:35: error: 'nil' requires a contextual type
                    self.action = nil
                                  ^
/host/spi-builder-workspace/Flow/TargetActionable.swift:40:35: error: 'nil' requires a contextual type
                    self.action = nil
                                  ^
[26/44] Compiling Flow UIView+EditingMenu.swift
/host/spi-builder-workspace/Flow/TargetActionable.swift:13:17: error: cannot find type 'Selector' in scope
    var action: Selector? { get set }
                ^~~~~~~~
/host/spi-builder-workspace/Flow/TargetActionable.swift:57:33: error: cannot find type 'Selector' in scope
    public static let selector: Selector = #selector(TargetAction.flowOnAction)
                                ^~~~~~~~
/host/spi-builder-workspace/Flow/TargetActionable.swift:64:6: error: Objective-C interoperability is disabled
    @objc func flowOnAction() {
    ~^~~~~

/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/TargetActionable.swift:40:35: error: 'nil' requires a contextual type
                    self.action = nil
                                  ^
/host/spi-builder-workspace/Flow/TargetActionable.swift:40:35: error: 'nil' requires a contextual type
                    self.action = nil
                                  ^
[27/44] Compiling Flow UIView+Signal.swift
/host/spi-builder-workspace/Flow/TargetActionable.swift:13:17: error: cannot find type 'Selector' in scope
    var action: Selector? { get set }
                ^~~~~~~~
/host/spi-builder-workspace/Flow/TargetActionable.swift:57:33: error: cannot find type 'Selector' in scope
    public static let selector: Selector = #selector(TargetAction.flowOnAction)
                                ^~~~~~~~
/host/spi-builder-workspace/Flow/TargetActionable.swift:64:6: error: Objective-C interoperability is disabled
    @objc func flowOnAction() {
    ~^~~~~

/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/TargetActionable.swift:40:35: error: 'nil' requires a contextual type
                    self.action = nil
                                  ^
/host/spi-builder-workspace/Flow/TargetActionable.swift:40:35: error: 'nil' requires a contextual type
                    self.action = nil
                                  ^
[28/44] Compiling Flow Utilities.swift
/host/spi-builder-workspace/Flow/TargetActionable.swift:13:17: error: cannot find type 'Selector' in scope
    var action: Selector? { get set }
                ^~~~~~~~
/host/spi-builder-workspace/Flow/TargetActionable.swift:57:33: error: cannot find type 'Selector' in scope
    public static let selector: Selector = #selector(TargetAction.flowOnAction)
                                ^~~~~~~~
/host/spi-builder-workspace/Flow/TargetActionable.swift:64:6: error: Objective-C interoperability is disabled
    @objc func flowOnAction() {
    ~^~~~~

/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/TargetActionable.swift:40:35: error: 'nil' requires a contextual type
                    self.action = nil
                                  ^
/host/spi-builder-workspace/Flow/TargetActionable.swift:40:35: error: 'nil' requires a contextual type
                    self.action = nil
                                  ^
[29/44] Compiling Flow Event.swift
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Future+Additions.swift:334:46: error: cannot find type 'NSInteger' in scope
    func repeatAndCollect(repeatCount count: NSInteger, delayBetweenRepetitions delay: TimeInterval? = nil) -> Future<[Value]> {
                                             ^~~~~~~~~
[30/44] Compiling Flow EventType.swift
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Future+Additions.swift:334:46: error: cannot find type 'NSInteger' in scope
    func repeatAndCollect(repeatCount count: NSInteger, delayBetweenRepetitions delay: TimeInterval? = nil) -> Future<[Value]> {
                                             ^~~~~~~~~
[31/44] Compiling Flow FiniteSignal.swift
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Future+Additions.swift:334:46: error: cannot find type 'NSInteger' in scope
    func repeatAndCollect(repeatCount count: NSInteger, delayBetweenRepetitions delay: TimeInterval? = nil) -> Future<[Value]> {
                                             ^~~~~~~~~
[32/44] Compiling Flow Future+Additions.swift
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Future+Additions.swift:334:46: error: cannot find type 'NSInteger' in scope
    func repeatAndCollect(repeatCount count: NSInteger, delayBetweenRepetitions delay: TimeInterval? = nil) -> Future<[Value]> {
                                             ^~~~~~~~~
[33/44] Compiling Flow Future+Combiners.swift
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Future+Additions.swift:334:46: error: cannot find type 'NSInteger' in scope
    func repeatAndCollect(repeatCount count: NSInteger, delayBetweenRepetitions delay: TimeInterval? = nil) -> Future<[Value]> {
                                             ^~~~~~~~~
[34/44] Compiling Flow Future+Signal.swift
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Future+Additions.swift:334:46: error: cannot find type 'NSInteger' in scope
    func repeatAndCollect(repeatCount count: NSInteger, delayBetweenRepetitions delay: TimeInterval? = nil) -> Future<[Value]> {
                                             ^~~~~~~~~
[35/44] Compiling Flow Signal+Combiners.swift
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+Construction.swift:116:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+Construction.swift:116:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Signal+Construction.swift:116:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Signal+Construction.swift:296:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+Construction.swift:296:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Signal+Construction.swift:296:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:12:18: error: cannot find type '_KeyValueCodingAndObserving' in scope
public extension _KeyValueCodingAndObserving {
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:28:32: error: value of type 'O' has no member 'observe'
            let token = object.observe(keyPath, options: .new) { _, _ in
                        ~~~~~~ ^~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:28:59: error: cannot infer contextual base in reference to member 'new'
            let token = object.observe(keyPath, options: .new) { _, _ in
                                                         ~^~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:44:40: error: value of type 'O' has no member 'observe'
                    let token = object.observe(keyPath, options: .new) { newObject, _ in
                                ~~~~~~ ^~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:44:67: error: cannot infer contextual base in reference to member 'new'
                    let token = object.observe(keyPath, options: .new) { newObject, _ in
                                                                 ~^~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:28:32: error: value of type 'O' has no member 'observe'
            let token = object.observe(keyPath, options: .new) { _, _ in
                        ~~~~~~ ^~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:28:59: error: cannot infer contextual base in reference to member 'new'
            let token = object.observe(keyPath, options: .new) { _, _ in
                                                         ~^~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:29:27: error: cannot infer contextual base in reference to member 'value'
                callback(.value(object[keyPath: keyPath]))
                         ~^~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:44:40: error: value of type 'O' has no member 'observe'
                    let token = object.observe(keyPath, options: .new) { newObject, _ in
                                ~~~~~~ ^~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:44:67: error: cannot infer contextual base in reference to member 'new'
                    let token = object.observe(keyPath, options: .new) { newObject, _ in
                                                                 ~^~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:45:35: error: cannot infer contextual base in reference to member 'value'
                        callback(.value(newObject[keyPath: keyPath]))
                                 ~^~~~~
[36/44] Compiling Flow Signal+Construction.swift
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+Construction.swift:116:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+Construction.swift:116:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Signal+Construction.swift:116:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Signal+Construction.swift:296:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+Construction.swift:296:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Signal+Construction.swift:296:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:12:18: error: cannot find type '_KeyValueCodingAndObserving' in scope
public extension _KeyValueCodingAndObserving {
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:28:32: error: value of type 'O' has no member 'observe'
            let token = object.observe(keyPath, options: .new) { _, _ in
                        ~~~~~~ ^~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:28:59: error: cannot infer contextual base in reference to member 'new'
            let token = object.observe(keyPath, options: .new) { _, _ in
                                                         ~^~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:44:40: error: value of type 'O' has no member 'observe'
                    let token = object.observe(keyPath, options: .new) { newObject, _ in
                                ~~~~~~ ^~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:44:67: error: cannot infer contextual base in reference to member 'new'
                    let token = object.observe(keyPath, options: .new) { newObject, _ in
                                                                 ~^~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:28:32: error: value of type 'O' has no member 'observe'
            let token = object.observe(keyPath, options: .new) { _, _ in
                        ~~~~~~ ^~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:28:59: error: cannot infer contextual base in reference to member 'new'
            let token = object.observe(keyPath, options: .new) { _, _ in
                                                         ~^~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:29:27: error: cannot infer contextual base in reference to member 'value'
                callback(.value(object[keyPath: keyPath]))
                         ~^~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:44:40: error: value of type 'O' has no member 'observe'
                    let token = object.observe(keyPath, options: .new) { newObject, _ in
                                ~~~~~~ ^~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:44:67: error: cannot infer contextual base in reference to member 'new'
                    let token = object.observe(keyPath, options: .new) { newObject, _ in
                                                                 ~^~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:45:35: error: cannot infer contextual base in reference to member 'value'
                        callback(.value(newObject[keyPath: keyPath]))
                                 ~^~~~~
[37/44] Compiling Flow Signal+Debug.swift
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+Construction.swift:116:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+Construction.swift:116:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Signal+Construction.swift:116:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Signal+Construction.swift:296:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+Construction.swift:296:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Signal+Construction.swift:296:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:12:18: error: cannot find type '_KeyValueCodingAndObserving' in scope
public extension _KeyValueCodingAndObserving {
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:28:32: error: value of type 'O' has no member 'observe'
            let token = object.observe(keyPath, options: .new) { _, _ in
                        ~~~~~~ ^~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:28:59: error: cannot infer contextual base in reference to member 'new'
            let token = object.observe(keyPath, options: .new) { _, _ in
                                                         ~^~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:44:40: error: value of type 'O' has no member 'observe'
                    let token = object.observe(keyPath, options: .new) { newObject, _ in
                                ~~~~~~ ^~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:44:67: error: cannot infer contextual base in reference to member 'new'
                    let token = object.observe(keyPath, options: .new) { newObject, _ in
                                                                 ~^~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:28:32: error: value of type 'O' has no member 'observe'
            let token = object.observe(keyPath, options: .new) { _, _ in
                        ~~~~~~ ^~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:28:59: error: cannot infer contextual base in reference to member 'new'
            let token = object.observe(keyPath, options: .new) { _, _ in
                                                         ~^~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:29:27: error: cannot infer contextual base in reference to member 'value'
                callback(.value(object[keyPath: keyPath]))
                         ~^~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:44:40: error: value of type 'O' has no member 'observe'
                    let token = object.observe(keyPath, options: .new) { newObject, _ in
                                ~~~~~~ ^~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:44:67: error: cannot infer contextual base in reference to member 'new'
                    let token = object.observe(keyPath, options: .new) { newObject, _ in
                                                                 ~^~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:45:35: error: cannot infer contextual base in reference to member 'value'
                        callback(.value(newObject[keyPath: keyPath]))
                                 ~^~~~~
[38/44] Compiling Flow Signal+KeyValueObserving.swift
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+Construction.swift:116:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+Construction.swift:116:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Signal+Construction.swift:116:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Signal+Construction.swift:296:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+Construction.swift:296:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Signal+Construction.swift:296:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:12:18: error: cannot find type '_KeyValueCodingAndObserving' in scope
public extension _KeyValueCodingAndObserving {
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:28:32: error: value of type 'O' has no member 'observe'
            let token = object.observe(keyPath, options: .new) { _, _ in
                        ~~~~~~ ^~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:28:59: error: cannot infer contextual base in reference to member 'new'
            let token = object.observe(keyPath, options: .new) { _, _ in
                                                         ~^~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:44:40: error: value of type 'O' has no member 'observe'
                    let token = object.observe(keyPath, options: .new) { newObject, _ in
                                ~~~~~~ ^~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:44:67: error: cannot infer contextual base in reference to member 'new'
                    let token = object.observe(keyPath, options: .new) { newObject, _ in
                                                                 ~^~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:28:32: error: value of type 'O' has no member 'observe'
            let token = object.observe(keyPath, options: .new) { _, _ in
                        ~~~~~~ ^~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:28:59: error: cannot infer contextual base in reference to member 'new'
            let token = object.observe(keyPath, options: .new) { _, _ in
                                                         ~^~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:29:27: error: cannot infer contextual base in reference to member 'value'
                callback(.value(object[keyPath: keyPath]))
                         ~^~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:44:40: error: value of type 'O' has no member 'observe'
                    let token = object.observe(keyPath, options: .new) { newObject, _ in
                                ~~~~~~ ^~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:44:67: error: cannot infer contextual base in reference to member 'new'
                    let token = object.observe(keyPath, options: .new) { newObject, _ in
                                                                 ~^~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:45:35: error: cannot infer contextual base in reference to member 'value'
                        callback(.value(newObject[keyPath: keyPath]))
                                 ~^~~~~
[39/44] Compiling Flow Signal+Listeners.swift
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+Construction.swift:116:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+Construction.swift:116:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Signal+Construction.swift:116:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Signal+Construction.swift:296:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+Construction.swift:296:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Signal+Construction.swift:296:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:12:18: error: cannot find type '_KeyValueCodingAndObserving' in scope
public extension _KeyValueCodingAndObserving {
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:28:32: error: value of type 'O' has no member 'observe'
            let token = object.observe(keyPath, options: .new) { _, _ in
                        ~~~~~~ ^~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:28:59: error: cannot infer contextual base in reference to member 'new'
            let token = object.observe(keyPath, options: .new) { _, _ in
                                                         ~^~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:44:40: error: value of type 'O' has no member 'observe'
                    let token = object.observe(keyPath, options: .new) { newObject, _ in
                                ~~~~~~ ^~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:44:67: error: cannot infer contextual base in reference to member 'new'
                    let token = object.observe(keyPath, options: .new) { newObject, _ in
                                                                 ~^~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:28:32: error: value of type 'O' has no member 'observe'
            let token = object.observe(keyPath, options: .new) { _, _ in
                        ~~~~~~ ^~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:28:59: error: cannot infer contextual base in reference to member 'new'
            let token = object.observe(keyPath, options: .new) { _, _ in
                                                         ~^~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:29:27: error: cannot infer contextual base in reference to member 'value'
                callback(.value(object[keyPath: keyPath]))
                         ~^~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:44:40: error: value of type 'O' has no member 'observe'
                    let token = object.observe(keyPath, options: .new) { newObject, _ in
                                ~~~~~~ ^~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:44:67: error: cannot infer contextual base in reference to member 'new'
                    let token = object.observe(keyPath, options: .new) { newObject, _ in
                                                                 ~^~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:45:35: error: cannot infer contextual base in reference to member 'value'
                        callback(.value(newObject[keyPath: keyPath]))
                                 ~^~~~~
[40/44] Compiling Flow Signal+Scheduling.swift
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+Scheduling.swift:80:22: error: argument type 'any DispatchSourceTimer' expected to be an instance of a class or class-constrained type
            bag.hold(timer) // DispatchSourceTimer is automatically cancelled after being released
                     ^
/host/spi-builder-workspace/Flow/Signal+Scheduling.swift:123:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+Scheduling.swift:123:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Signal+Scheduling.swift:123:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Signal+Utilities.swift:37:19: error: cannot find 'objc_getAssociatedObject' in scope
    let tracker = objc_getAssociatedObject(object, &trackerKey) as? DeallocTracker ?? DeallocTracker()
                  ^~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+Utilities.swift:38:5: error: cannot find 'objc_setAssociatedObject' in scope
    objc_setAssociatedObject(object, &trackerKey, tracker, .OBJC_ASSOCIATION_RETAIN)
    ^~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+Utilities.swift:38:61: error: cannot infer contextual base in reference to member 'OBJC_ASSOCIATION_RETAIN'
    objc_setAssociatedObject(object, &trackerKey, tracker, .OBJC_ASSOCIATION_RETAIN)
                                                           ~^~~~~~~~~~~~~~~~~~~~~~~
[41/44] Compiling Flow Signal+Transforms.swift
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+Scheduling.swift:80:22: error: argument type 'any DispatchSourceTimer' expected to be an instance of a class or class-constrained type
            bag.hold(timer) // DispatchSourceTimer is automatically cancelled after being released
                     ^
/host/spi-builder-workspace/Flow/Signal+Scheduling.swift:123:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+Scheduling.swift:123:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Signal+Scheduling.swift:123:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Signal+Utilities.swift:37:19: error: cannot find 'objc_getAssociatedObject' in scope
    let tracker = objc_getAssociatedObject(object, &trackerKey) as? DeallocTracker ?? DeallocTracker()
                  ^~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+Utilities.swift:38:5: error: cannot find 'objc_setAssociatedObject' in scope
    objc_setAssociatedObject(object, &trackerKey, tracker, .OBJC_ASSOCIATION_RETAIN)
    ^~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+Utilities.swift:38:61: error: cannot infer contextual base in reference to member 'OBJC_ASSOCIATION_RETAIN'
    objc_setAssociatedObject(object, &trackerKey, tracker, .OBJC_ASSOCIATION_RETAIN)
                                                           ~^~~~~~~~~~~~~~~~~~~~~~~
[42/44] Compiling Flow Signal+Utilities.swift
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+Scheduling.swift:80:22: error: argument type 'any DispatchSourceTimer' expected to be an instance of a class or class-constrained type
            bag.hold(timer) // DispatchSourceTimer is automatically cancelled after being released
                     ^
/host/spi-builder-workspace/Flow/Signal+Scheduling.swift:123:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+Scheduling.swift:123:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Signal+Scheduling.swift:123:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Signal+Utilities.swift:37:19: error: cannot find 'objc_getAssociatedObject' in scope
    let tracker = objc_getAssociatedObject(object, &trackerKey) as? DeallocTracker ?? DeallocTracker()
                  ^~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+Utilities.swift:38:5: error: cannot find 'objc_setAssociatedObject' in scope
    objc_setAssociatedObject(object, &trackerKey, tracker, .OBJC_ASSOCIATION_RETAIN)
    ^~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+Utilities.swift:38:61: error: cannot infer contextual base in reference to member 'OBJC_ASSOCIATION_RETAIN'
    objc_setAssociatedObject(object, &trackerKey, tracker, .OBJC_ASSOCIATION_RETAIN)
                                                           ~^~~~~~~~~~~~~~~~~~~~~~~
[43/44] Compiling Flow Signal.swift
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+Scheduling.swift:80:22: error: argument type 'any DispatchSourceTimer' expected to be an instance of a class or class-constrained type
            bag.hold(timer) // DispatchSourceTimer is automatically cancelled after being released
                     ^
/host/spi-builder-workspace/Flow/Signal+Scheduling.swift:123:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+Scheduling.swift:123:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Signal+Scheduling.swift:123:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Signal+Utilities.swift:37:19: error: cannot find 'objc_getAssociatedObject' in scope
    let tracker = objc_getAssociatedObject(object, &trackerKey) as? DeallocTracker ?? DeallocTracker()
                  ^~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+Utilities.swift:38:5: error: cannot find 'objc_setAssociatedObject' in scope
    objc_setAssociatedObject(object, &trackerKey, tracker, .OBJC_ASSOCIATION_RETAIN)
    ^~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+Utilities.swift:38:61: error: cannot infer contextual base in reference to member 'OBJC_ASSOCIATION_RETAIN'
    objc_setAssociatedObject(object, &trackerKey, tracker, .OBJC_ASSOCIATION_RETAIN)
                                                           ~^~~~~~~~~~~~~~~~~~~~~~~
[44/44] Compiling Flow SignalProvider.swift
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: KeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: error: cannot find type '_KeyValueCodingAndObserving' in scope
    convenience init<O: _KeyValueCodingAndObserving>(object: O, keyPath: WritableKeyPath<O, Value>) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+Scheduling.swift:80:22: error: argument type 'any DispatchSourceTimer' expected to be an instance of a class or class-constrained type
            bag.hold(timer) // DispatchSourceTimer is automatically cancelled after being released
                     ^
/host/spi-builder-workspace/Flow/Signal+Scheduling.swift:123:46: warning: initialization of 'PThreadMutex' (aka 'UnsafeMutablePointer<pthread_mutex_t>') results in a dangling pointer
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                             ^~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+Scheduling.swift:123:59: note: implicit argument conversion from 'pthread_mutex_t' to 'UnsafeMutablePointer<pthread_mutex_t>' produces a pointer valid only for the duration of the call to 'init(_:)'
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^~~~~~~
/host/spi-builder-workspace/Flow/Signal+Scheduling.swift:123:59: note: use 'withUnsafeMutablePointer' in order to explicitly convert argument to pointer valid for a defined scope
    private var mutex: PThreadMutex { return PThreadMutex(&_mutex) }
                                                          ^
/host/spi-builder-workspace/Flow/Signal+Utilities.swift:37:19: error: cannot find 'objc_getAssociatedObject' in scope
    let tracker = objc_getAssociatedObject(object, &trackerKey) as? DeallocTracker ?? DeallocTracker()
                  ^~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+Utilities.swift:38:5: error: cannot find 'objc_setAssociatedObject' in scope
    objc_setAssociatedObject(object, &trackerKey, tracker, .OBJC_ASSOCIATION_RETAIN)
    ^~~~~~~~~~~~~~~~~~~~~~~~
/host/spi-builder-workspace/Flow/Signal+Utilities.swift:38:61: error: cannot infer contextual base in reference to member 'OBJC_ASSOCIATION_RETAIN'
    objc_setAssociatedObject(object, &trackerKey, tracker, .OBJC_ASSOCIATION_RETAIN)
                                                           ~^~~~~~~~~~~~~~~~~~~~~~~
error: fatalError
BUILD FAILURE 5.9 linux