The Swift Package Index logo.Swift Package Index

Build Information

Failed to build SwiftExecutors, reference main (165c31), with Swift 6.1 for Linux on 2 Dec 2025 01:41:56 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Kosikowski/swift-executors.git
Reference: main
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/Kosikowski/swift-executors
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 165c316 Bump actions/checkout from 5 to 6 (#2)
Cloned https://github.com/Kosikowski/swift-executors.git
Revision (git rev-parse @):
165c31646782b30d6eca7f32cfec7810a17e60f1
SUCCESS checkout https://github.com/Kosikowski/swift-executors.git at main
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.1
Building package at path:  $PWD
https://github.com/Kosikowski/swift-executors.git
https://github.com/Kosikowski/swift-executors.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
  ],
  "manifest_display_name" : "SwiftExecutors",
  "name" : "SwiftExecutors",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "18.0"
    },
    {
      "name" : "macos",
      "version" : "15.0"
    }
  ],
  "products" : [
    {
      "name" : "SwiftExecutors",
      "targets" : [
        "SwiftExecutors"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SwiftExecutorsCLI",
      "targets" : [
        "SwiftExecutorsCLI"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftExecutorsTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftExecutorsTests",
      "path" : "Tests/SwiftExecutorsTests",
      "sources" : [
        "DispatchQueueTaskExecutorTests.swift",
        "QueueTaskExecutorTests.swift",
        "ThreadExecutorTests.swift"
      ],
      "target_dependencies" : [
        "SwiftExecutors"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftExecutorsCLI",
      "module_type" : "SwiftTarget",
      "name" : "SwiftExecutorsCLI",
      "path" : "Sources/SwiftExecutorsCLI",
      "product_memberships" : [
        "SwiftExecutorsCLI"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "SwiftExecutors"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "SwiftExecutors",
      "module_type" : "SwiftTarget",
      "name" : "SwiftExecutors",
      "path" : "Sources/SwiftExecutors",
      "product_memberships" : [
        "SwiftExecutors",
        "SwiftExecutorsCLI"
      ],
      "sources" : [
        "DispatchQueueTaskExecutor.swift",
        "QueueTaskExecutor.swift",
        "ThreadExecutor.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.1"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:4d72617259f6eef9908440c49a67b79bc4f973ae19f78187418ddfb5b178d4ec
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Building for debugging...
[0/7] Write sources
[2/7] Write swift-version-24593BA9C3E375BF.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[4/11] Compiling SwiftExecutors DispatchQueueTaskExecutor.swift
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
[5/11] Compiling SwiftExecutors QueueTaskExecutor.swift
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
[6/11] Emitting module SwiftExecutors
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:32:26: error: cannot find type 'CFRunLoop' in scope
 30 |     /// NOTE: It's `!` on purpose – the run-loop is set *inside* the thread body
 31 |     /// and is guaranteed to exist before `init` returns.
 32 |     private var runLoop: CFRunLoop!
    |                          `- error: cannot find type 'CFRunLoop' in scope
 33 |
 34 |     /// Spins up the thread & run-loop pair exactly once.
[7/11] Compiling SwiftExecutors ThreadExecutor.swift
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:32:26: error: cannot find type 'CFRunLoop' in scope
 30 |     /// NOTE: It's `!` on purpose – the run-loop is set *inside* the thread body
 31 |     /// and is guaranteed to exist before `init` returns.
 32 |     private var runLoop: CFRunLoop!
    |                          `- error: cannot find type 'CFRunLoop' in scope
 33 |
 34 |     /// Spins up the thread & run-loop pair exactly once.
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:47:29: error: cannot find 'CFRunLoopGetCurrent' in scope
 45 |         let thread = Thread { [weak self] in
 46 |             // Save the run-loop so enqueue(_:) can get to it later.
 47 |             self?.runLoop = CFRunLoopGetCurrent()
    |                             `- error: cannot find 'CFRunLoopGetCurrent' in scope
 48 |
 49 |             // Tell the main thread the run-loop is ready to accept work.
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:54:13: error: cannot find 'CFRunLoopRun' in scope
 52 |             // Start the run-loop.  From here on the thread parks inside
 53 |             //     the CFRunLoop event pump until we stop it in deinit.
 54 |             CFRunLoopRun()
    |             `- error: cannot find 'CFRunLoopRun' in scope
 55 |         }
 56 |
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:87:9: error: cannot find 'CFRunLoopPerformBlock' in scope
 85 |         // 3. Ask the run-loop to perform the block on its own thread.
 86 |         //    `defaultMode` is fine; if you need a custom mode, pass it here.
 87 |         CFRunLoopPerformBlock(runLoop,
    |         `- error: cannot find 'CFRunLoopPerformBlock' in scope
 88 |                               CFRunLoopMode.defaultMode.rawValue)
 89 |         {
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:88:31: error: cannot find 'CFRunLoopMode' in scope
 86 |         //    `defaultMode` is fine; if you need a custom mode, pass it here.
 87 |         CFRunLoopPerformBlock(runLoop,
 88 |                               CFRunLoopMode.defaultMode.rawValue)
    |                               `- error: cannot find 'CFRunLoopMode' in scope
 89 |         {
 90 |             // 3a. Finally run the job on the target thread.
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:96:9: error: cannot find 'CFRunLoopWakeUp' in scope
 94 |
 95 |         // 4. In case the run-loop is napping, prod it so it wakes up soon.
 96 |         CFRunLoopWakeUp(runLoop)
    |         `- error: cannot find 'CFRunLoopWakeUp' in scope
 97 |     }
 98 |
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:109:9: error: cannot find 'CFRunLoopPerformBlock' in scope
107 |         // Gracefully stop the run-loop *on its own thread*.
108 |         // We can't call CFRunLoopStop() from a different thread.
109 |         CFRunLoopPerformBlock(runLoop,
    |         `- error: cannot find 'CFRunLoopPerformBlock' in scope
110 |                               CFRunLoopMode.defaultMode.rawValue)
111 |         {
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:110:31: error: cannot find 'CFRunLoopMode' in scope
108 |         // We can't call CFRunLoopStop() from a different thread.
109 |         CFRunLoopPerformBlock(runLoop,
110 |                               CFRunLoopMode.defaultMode.rawValue)
    |                               `- error: cannot find 'CFRunLoopMode' in scope
111 |         {
112 |             CFRunLoopStop(self.runLoop)
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:112:13: error: cannot find 'CFRunLoopStop' in scope
110 |                               CFRunLoopMode.defaultMode.rawValue)
111 |         {
112 |             CFRunLoopStop(self.runLoop)
    |             `- error: cannot find 'CFRunLoopStop' in scope
113 |         }
114 |         CFRunLoopWakeUp(runLoop)
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:114:9: error: cannot find 'CFRunLoopWakeUp' in scope
112 |             CFRunLoopStop(self.runLoop)
113 |         }
114 |         CFRunLoopWakeUp(runLoop)
    |         `- error: cannot find 'CFRunLoopWakeUp' in scope
115 |
116 |         // Mark the thread as cancelled so well-behaved APIs can bail out.
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:123:16: error: cannot find 'qos_class_self' in scope
121 | extension Thread {
122 |     static var currentQos: QualityOfService {
123 |         switch qos_class_self() {
    |                `- error: cannot find 'qos_class_self' in scope
124 |         case QOS_CLASS_USER_INTERACTIVE: return .userInteractive
125 |         case QOS_CLASS_USER_INITIATED: return .userInitiated
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:124:14: error: cannot find 'QOS_CLASS_USER_INTERACTIVE' in scope
122 |     static var currentQos: QualityOfService {
123 |         switch qos_class_self() {
124 |         case QOS_CLASS_USER_INTERACTIVE: return .userInteractive
    |              `- error: cannot find 'QOS_CLASS_USER_INTERACTIVE' in scope
125 |         case QOS_CLASS_USER_INITIATED: return .userInitiated
126 |         case QOS_CLASS_DEFAULT: return .default
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:125:14: error: cannot find 'QOS_CLASS_USER_INITIATED' in scope
123 |         switch qos_class_self() {
124 |         case QOS_CLASS_USER_INTERACTIVE: return .userInteractive
125 |         case QOS_CLASS_USER_INITIATED: return .userInitiated
    |              `- error: cannot find 'QOS_CLASS_USER_INITIATED' in scope
126 |         case QOS_CLASS_DEFAULT: return .default
127 |         case QOS_CLASS_UTILITY: return .utility
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:126:14: error: cannot find 'QOS_CLASS_DEFAULT' in scope
124 |         case QOS_CLASS_USER_INTERACTIVE: return .userInteractive
125 |         case QOS_CLASS_USER_INITIATED: return .userInitiated
126 |         case QOS_CLASS_DEFAULT: return .default
    |              `- error: cannot find 'QOS_CLASS_DEFAULT' in scope
127 |         case QOS_CLASS_UTILITY: return .utility
128 |         case QOS_CLASS_BACKGROUND: return .background
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:127:14: error: cannot find 'QOS_CLASS_UTILITY' in scope
125 |         case QOS_CLASS_USER_INITIATED: return .userInitiated
126 |         case QOS_CLASS_DEFAULT: return .default
127 |         case QOS_CLASS_UTILITY: return .utility
    |              `- error: cannot find 'QOS_CLASS_UTILITY' in scope
128 |         case QOS_CLASS_BACKGROUND: return .background
129 |         default: return .default
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:128:14: error: cannot find 'QOS_CLASS_BACKGROUND' in scope
126 |         case QOS_CLASS_DEFAULT: return .default
127 |         case QOS_CLASS_UTILITY: return .utility
128 |         case QOS_CLASS_BACKGROUND: return .background
    |              `- error: cannot find 'QOS_CLASS_BACKGROUND' in scope
129 |         default: return .default
130 |         }
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:4d72617259f6eef9908440c49a67b79bc4f973ae19f78187418ddfb5b178d4ec
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
[0/1] Planning build
Building for debugging...
[0/5] Write swift-version-24593BA9C3E375BF.txt
[2/9] Compiling SwiftExecutors ThreadExecutor.swift
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:32:26: error: cannot find type 'CFRunLoop' in scope
 30 |     /// NOTE: It's `!` on purpose – the run-loop is set *inside* the thread body
 31 |     /// and is guaranteed to exist before `init` returns.
 32 |     private var runLoop: CFRunLoop!
    |                          `- error: cannot find type 'CFRunLoop' in scope
 33 |
 34 |     /// Spins up the thread & run-loop pair exactly once.
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:47:29: error: cannot find 'CFRunLoopGetCurrent' in scope
 45 |         let thread = Thread { [weak self] in
 46 |             // Save the run-loop so enqueue(_:) can get to it later.
 47 |             self?.runLoop = CFRunLoopGetCurrent()
    |                             `- error: cannot find 'CFRunLoopGetCurrent' in scope
 48 |
 49 |             // Tell the main thread the run-loop is ready to accept work.
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:54:13: error: cannot find 'CFRunLoopRun' in scope
 52 |             // Start the run-loop.  From here on the thread parks inside
 53 |             //     the CFRunLoop event pump until we stop it in deinit.
 54 |             CFRunLoopRun()
    |             `- error: cannot find 'CFRunLoopRun' in scope
 55 |         }
 56 |
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:87:9: error: cannot find 'CFRunLoopPerformBlock' in scope
 85 |         // 3. Ask the run-loop to perform the block on its own thread.
 86 |         //    `defaultMode` is fine; if you need a custom mode, pass it here.
 87 |         CFRunLoopPerformBlock(runLoop,
    |         `- error: cannot find 'CFRunLoopPerformBlock' in scope
 88 |                               CFRunLoopMode.defaultMode.rawValue)
 89 |         {
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:88:31: error: cannot find 'CFRunLoopMode' in scope
 86 |         //    `defaultMode` is fine; if you need a custom mode, pass it here.
 87 |         CFRunLoopPerformBlock(runLoop,
 88 |                               CFRunLoopMode.defaultMode.rawValue)
    |                               `- error: cannot find 'CFRunLoopMode' in scope
 89 |         {
 90 |             // 3a. Finally run the job on the target thread.
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:96:9: error: cannot find 'CFRunLoopWakeUp' in scope
 94 |
 95 |         // 4. In case the run-loop is napping, prod it so it wakes up soon.
 96 |         CFRunLoopWakeUp(runLoop)
    |         `- error: cannot find 'CFRunLoopWakeUp' in scope
 97 |     }
 98 |
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:109:9: error: cannot find 'CFRunLoopPerformBlock' in scope
107 |         // Gracefully stop the run-loop *on its own thread*.
108 |         // We can't call CFRunLoopStop() from a different thread.
109 |         CFRunLoopPerformBlock(runLoop,
    |         `- error: cannot find 'CFRunLoopPerformBlock' in scope
110 |                               CFRunLoopMode.defaultMode.rawValue)
111 |         {
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:110:31: error: cannot find 'CFRunLoopMode' in scope
108 |         // We can't call CFRunLoopStop() from a different thread.
109 |         CFRunLoopPerformBlock(runLoop,
110 |                               CFRunLoopMode.defaultMode.rawValue)
    |                               `- error: cannot find 'CFRunLoopMode' in scope
111 |         {
112 |             CFRunLoopStop(self.runLoop)
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:112:13: error: cannot find 'CFRunLoopStop' in scope
110 |                               CFRunLoopMode.defaultMode.rawValue)
111 |         {
112 |             CFRunLoopStop(self.runLoop)
    |             `- error: cannot find 'CFRunLoopStop' in scope
113 |         }
114 |         CFRunLoopWakeUp(runLoop)
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:114:9: error: cannot find 'CFRunLoopWakeUp' in scope
112 |             CFRunLoopStop(self.runLoop)
113 |         }
114 |         CFRunLoopWakeUp(runLoop)
    |         `- error: cannot find 'CFRunLoopWakeUp' in scope
115 |
116 |         // Mark the thread as cancelled so well-behaved APIs can bail out.
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:123:16: error: cannot find 'qos_class_self' in scope
121 | extension Thread {
122 |     static var currentQos: QualityOfService {
123 |         switch qos_class_self() {
    |                `- error: cannot find 'qos_class_self' in scope
124 |         case QOS_CLASS_USER_INTERACTIVE: return .userInteractive
125 |         case QOS_CLASS_USER_INITIATED: return .userInitiated
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:124:14: error: cannot find 'QOS_CLASS_USER_INTERACTIVE' in scope
122 |     static var currentQos: QualityOfService {
123 |         switch qos_class_self() {
124 |         case QOS_CLASS_USER_INTERACTIVE: return .userInteractive
    |              `- error: cannot find 'QOS_CLASS_USER_INTERACTIVE' in scope
125 |         case QOS_CLASS_USER_INITIATED: return .userInitiated
126 |         case QOS_CLASS_DEFAULT: return .default
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:125:14: error: cannot find 'QOS_CLASS_USER_INITIATED' in scope
123 |         switch qos_class_self() {
124 |         case QOS_CLASS_USER_INTERACTIVE: return .userInteractive
125 |         case QOS_CLASS_USER_INITIATED: return .userInitiated
    |              `- error: cannot find 'QOS_CLASS_USER_INITIATED' in scope
126 |         case QOS_CLASS_DEFAULT: return .default
127 |         case QOS_CLASS_UTILITY: return .utility
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:126:14: error: cannot find 'QOS_CLASS_DEFAULT' in scope
124 |         case QOS_CLASS_USER_INTERACTIVE: return .userInteractive
125 |         case QOS_CLASS_USER_INITIATED: return .userInitiated
126 |         case QOS_CLASS_DEFAULT: return .default
    |              `- error: cannot find 'QOS_CLASS_DEFAULT' in scope
127 |         case QOS_CLASS_UTILITY: return .utility
128 |         case QOS_CLASS_BACKGROUND: return .background
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:127:14: error: cannot find 'QOS_CLASS_UTILITY' in scope
125 |         case QOS_CLASS_USER_INITIATED: return .userInitiated
126 |         case QOS_CLASS_DEFAULT: return .default
127 |         case QOS_CLASS_UTILITY: return .utility
    |              `- error: cannot find 'QOS_CLASS_UTILITY' in scope
128 |         case QOS_CLASS_BACKGROUND: return .background
129 |         default: return .default
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:128:14: error: cannot find 'QOS_CLASS_BACKGROUND' in scope
126 |         case QOS_CLASS_DEFAULT: return .default
127 |         case QOS_CLASS_UTILITY: return .utility
128 |         case QOS_CLASS_BACKGROUND: return .background
    |              `- error: cannot find 'QOS_CLASS_BACKGROUND' in scope
129 |         default: return .default
130 |         }
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/9] Compiling SwiftExecutors DispatchQueueTaskExecutor.swift
[4/9] Compiling SwiftExecutors QueueTaskExecutor.swift
[5/9] Emitting module SwiftExecutors
/host/spi-builder-workspace/Sources/SwiftExecutors/ThreadExecutor.swift:32:26: error: cannot find type 'CFRunLoop' in scope
 30 |     /// NOTE: It's `!` on purpose – the run-loop is set *inside* the thread body
 31 |     /// and is guaranteed to exist before `init` returns.
 32 |     private var runLoop: CFRunLoop!
    |                          `- error: cannot find type 'CFRunLoop' in scope
 33 |
 34 |     /// Spins up the thread & run-loop pair exactly once.
BUILD FAILURE 6.1 linux