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 DSFAppKitBuilder, reference 11.10.2 (d188d6), with Swift 6.0 for Linux on 1 Dec 2024 23:22:27 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-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

Build Log

========================================
RunAll
========================================
Builder version: 4.58.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/dagronf/DSFAppKitBuilder.git
Reference: 11.10.2
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/dagronf/DSFAppKitBuilder
 * tag               11.10.2    -> FETCH_HEAD
HEAD is now at d188d61 Update to latest focusoverlay
Cloned https://github.com/dagronf/DSFAppKitBuilder.git
Revision (git rev-parse @):
d188d61b706d8cac88bf9ba6a5bdd98f408f202b
SUCCESS checkout https://github.com/dagronf/DSFAppKitBuilder.git at 11.10.2
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $PWD
https://github.com/dagronf/DSFAppKitBuilder.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-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.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Fetching https://github.com/dagronf/DSFMenuBuilder
Fetching https://github.com/dagronf/DSFValueBinders
Fetching https://github.com/dagronf/DSFComboButton
Fetching https://github.com/dagronf/DSFToggleButton
Fetching https://github.com/dagronf/DSFSearchField
Fetching https://github.com/dagronf/DSFStepperView
[1/167] Fetching dsfcombobutton
[168/828] Fetching dsfcombobutton, dsfstepperview
[228/1063] Fetching dsfcombobutton, dsfstepperview, dsfvaluebinders
[1045/1246] Fetching dsfcombobutton, dsfstepperview, dsfvaluebinders, dsfsearchfield
[1220/1740] Fetching dsfcombobutton, dsfstepperview, dsfvaluebinders, dsfsearchfield, dsftogglebutton
[1741/2064] Fetching dsfcombobutton, dsfstepperview, dsfvaluebinders, dsfsearchfield, dsftogglebutton, dsfmenubuilder
Fetched https://github.com/dagronf/DSFValueBinders from cache (0.27s)
Fetched https://github.com/dagronf/DSFComboButton from cache (0.27s)
Fetched https://github.com/dagronf/DSFStepperView from cache (0.27s)
Fetched https://github.com/dagronf/DSFMenuBuilder from cache (0.27s)
Fetching https://github.com/dagronf/DSFPagerControl
Fetched https://github.com/dagronf/DSFSearchField from cache (0.28s)
Fetched https://github.com/dagronf/DSFToggleButton from cache (0.28s)
[1/312] Fetching dsfpagercontrol
Fetched https://github.com/dagronf/DSFPagerControl from cache (0.19s)
Computing version for https://github.com/dagronf/DSFSearchField
Computed https://github.com/dagronf/DSFSearchField at 2.2.2 (0.45s)
Computing version for https://github.com/dagronf/DSFStepperView
Computed https://github.com/dagronf/DSFStepperView at 4.3.0 (0.46s)
Fetching https://github.com/dagronf/DSFAppearanceManager
[1/398] Fetching dsfappearancemanager
Fetched https://github.com/dagronf/DSFAppearanceManager from cache (0.24s)
Computing version for https://github.com/dagronf/DSFToggleButton
Computed https://github.com/dagronf/DSFToggleButton at 7.1.0 (0.47s)
Computing version for https://github.com/dagronf/DSFComboButton
Computed https://github.com/dagronf/DSFComboButton at 1.0.0 (0.45s)
Computing version for https://github.com/dagronf/DSFMenuBuilder
Computed https://github.com/dagronf/DSFMenuBuilder at 1.2.1 (0.45s)
Computing version for https://github.com/dagronf/DSFPagerControl
Computed https://github.com/dagronf/DSFPagerControl at 2.5.2 (0.49s)
Computing version for https://github.com/dagronf/DSFValueBinders
Computed https://github.com/dagronf/DSFValueBinders at 1.0.1 (0.49s)
Computing version for https://github.com/dagronf/DSFAppearanceManager
Computed https://github.com/dagronf/DSFAppearanceManager at 3.5.1 (0.47s)
Creating working copy for https://github.com/dagronf/DSFValueBinders
Working copy of https://github.com/dagronf/DSFValueBinders resolved at 1.0.1
Creating working copy for https://github.com/dagronf/DSFMenuBuilder
Working copy of https://github.com/dagronf/DSFMenuBuilder resolved at 1.2.1
Creating working copy for https://github.com/dagronf/DSFPagerControl
Working copy of https://github.com/dagronf/DSFPagerControl resolved at 2.5.2
Creating working copy for https://github.com/dagronf/DSFSearchField
Working copy of https://github.com/dagronf/DSFSearchField resolved at 2.2.2
Creating working copy for https://github.com/dagronf/DSFAppearanceManager
Working copy of https://github.com/dagronf/DSFAppearanceManager resolved at 3.5.1
Creating working copy for https://github.com/dagronf/DSFToggleButton
Working copy of https://github.com/dagronf/DSFToggleButton resolved at 7.1.0
Creating working copy for https://github.com/dagronf/DSFComboButton
Working copy of https://github.com/dagronf/DSFComboButton resolved at 1.0.0
Creating working copy for https://github.com/dagronf/DSFStepperView
Working copy of https://github.com/dagronf/DSFStepperView resolved at 4.3.0
Building for debugging...
[0/26] Write sources
[0/26] Copying PrivacyInfo.xcprivacy
[0/26] Copying Localizable.strings
[0/26] Write sources
[0/26] Copying Info.plist
[0/26] Write sources
[12/26] Write swift-version-24593BA9C3E375BF.txt
[14/70] Emitting module DSFSearchField
[15/70] Emitting module DSFAppearanceManager
[16/71] Compiling DSFValueBinders CombiningValueBinder.swift
[17/71] Compiling DSFValueBinders DSFValueBinders.swift
[18/71] Emitting module DSFComboButton
[19/71] Compiling DSFComboButton DSFComboButton.swift
[20/71] Compiling DSFComboButton DSFComboButton+private.swift
[21/71] Compiling DSFComboButton DelayedMenuButton.swift
[22/72] Wrapping AST for DSFComboButton for debugging
[24/72] Compiling DSFAppearanceManager NSAppearance+extensions.swift
[25/72] Compiling DSFAppearanceManager WeakBag.swift
[26/72] Compiling DSFSearchField resource_bundle_accessor.swift
[27/72] Compiling DSFAppearanceManager DSFSimpleLock.swift
[28/72] Compiling DSFAppearanceManager WeakBox.swift
[29/72] Compiling DSFValueBinders WrappedPublisher.swift
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/private/WrappedPublisher.swift:51:17: error: cannot find type 'AnyPublisher' in scope
49 | 	/// Note that the publisher will send events on non-main threads, so its important
50 | 	/// for your listeners to swap to the main thread if they are updating UI
51 | 	var publisher: AnyPublisher<ValueType, Never> {
   |                 `- error: cannot find type 'AnyPublisher' in scope
52 | 		return self.passthroughSubject.eraseToAnyPublisher()
53 | 	}
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/private/WrappedPublisher.swift:66:62: error: cannot find type 'AnyCancellable' in scope
64 |
65 | 	/// Attaches a subscriber with closure-based behavior to a publisher that never fails.
66 | 	func sink(receiveValue: @escaping ((ValueType) -> Void)) -> AnyCancellable {
   |                                                              `- error: cannot find type 'AnyCancellable' in scope
67 | 		self.passthroughSubject.sink(receiveValue: receiveValue)
68 | 	}
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/private/WrappedPublisher.swift:74:7: error: cannot find type 'AnyCancellable' in scope
72 | 		receiveCompletion: @escaping ((Subscribers.Completion<Never>) -> Void),
73 | 		receiveValue: @escaping ((ValueType) -> Void)
74 | 	) -> AnyCancellable {
   |       `- error: cannot find type 'AnyCancellable' in scope
75 | 		self.passthroughSubject.sink(receiveCompletion: receiveCompletion, receiveValue: receiveValue)
76 | 	}
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/private/WrappedPublisher.swift:72:34: error: cannot find type 'Subscribers' in scope
70 | 	/// Attaches a subscriber with closure-based behavior.
71 | 	func sink(
72 | 		receiveCompletion: @escaping ((Subscribers.Completion<Never>) -> Void),
   |                                  `- error: cannot find type 'Subscribers' in scope
73 | 		receiveValue: @escaping ((ValueType) -> Void)
74 | 	) -> AnyCancellable {
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/private/WrappedPublisher.swift:72:22: error: @escaping attribute only applies to function types
70 | 	/// Attaches a subscriber with closure-based behavior.
71 | 	func sink(
72 | 		receiveCompletion: @escaping ((Subscribers.Completion<Never>) -> Void),
   |                      `- error: @escaping attribute only applies to function types
73 | 		receiveValue: @escaping ((ValueType) -> Void)
74 | 	) -> AnyCancellable {
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/private/WrappedPublisher.swift:86:26: error: cannot find type 'PassthroughSubject' in scope
84 | internal extension WrappedPublisher {
85 | 	// Internal publisher to allow us to send new values
86 | 	var passthroughSubject: PassthroughSubject<ValueType, Never> {
   |                          `- error: cannot find type 'PassthroughSubject' in scope
87 | 		return self._publisher as! PassthroughSubject<ValueType, Never>
88 | 	}
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/private/WrappedPublisher.swift:36:21: error: cannot find 'PassthroughSubject' in scope
34 | 			return nil
35 | 		}
36 | 		self._publisher = PassthroughSubject<ValueType, Never>()
   |                     `- error: cannot find 'PassthroughSubject' in scope
37 | 	}
38 |
[30/72] Compiling DSFAppearanceManager NSWindow+Appearance.swift
[31/72] Compiling DSFAppearanceManager AutoplayAnimatedImages.swift
[32/72] Compiling DSFMenuBuilder AnyMenuItem.swift
/host/spi-builder-workspace/.build/checkouts/DSFMenuBuilder/Sources/DSFMenuBuilder/Menu.swift:27:8: error: no such module 'AppKit'
 25 | //
 26 |
 27 | import AppKit
    |        `- error: no such module 'AppKit'
 28 |
 29 | /// A representation of a menu
[33/72] Compiling DSFMenuBuilder MenuItemTarget.swift
/host/spi-builder-workspace/.build/checkouts/DSFMenuBuilder/Sources/DSFMenuBuilder/Menu.swift:27:8: error: no such module 'AppKit'
 25 | //
 26 |
 27 | import AppKit
    |        `- error: no such module 'AppKit'
 28 |
 29 | /// A representation of a menu
error: emit-module command failed with exit code 1 (use -v to see invocation)
[36/74] Emitting module DSFValueBinders
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/EnumKeyPathBinder.swift:104:30: error: cannot find type 'NSKeyValueObservation' in scope
102 |
103 | 	private weak var object: ClassType?
104 | 	private var kvoObservation: NSKeyValueObservation?
    |                              `- error: cannot find type 'NSKeyValueObservation' in scope
105 | 	private let stringPath: String
106 | 	private let lock = SemLock()
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/KeyPathBinder.swift:97:30: error: cannot find type 'NSKeyValueObservation' in scope
 95 |
 96 | 	private weak var object: ClassType?
 97 | 	private var kvoObservation: NSKeyValueObservation?
    |                              `- error: cannot find type 'NSKeyValueObservation' in scope
 98 | 	private let stringPath: String
 99 | 	private let lock = SemLock()
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/KeyPathBinder.swift:104:34: error: cannot find type 'NSKeyValueObservedChange' in scope
102 | 	// MARK: - Change handling
103 |
104 | 	private func kvoUpdate(_ value: NSKeyValueObservedChange<ValueType>) {
    |                                  `- error: cannot find type 'NSKeyValueObservedChange' in scope
105 | 		if let value = value.newValue {
106 | 			self.update(with: value)
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/ValueBinder.swift:179:62: error: cannot find type 'AnyCancellable' in scope
177 | 	/// Attaches a subscriber with closure-based behavior to a publisher that never fails.
178 | 	/// Returns `nil` if the publisher isn't available
179 | 	func sink(receiveValue: @escaping ((ValueType) -> Void)) -> AnyCancellable? {
    |                                                              `- error: cannot find type 'AnyCancellable' in scope
180 | 		self.publisher?.passthroughSubject.sink(receiveValue: receiveValue)
181 | 	}
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/ValueBinder.swift:187:7: error: cannot find type 'AnyCancellable' in scope
185 | 		 receiveCompletion: @escaping ((Subscribers.Completion<Never>) -> Void),
186 | 		 receiveValue: @escaping ((ValueType) -> Void)
187 | 	) -> AnyCancellable? {
    |       `- error: cannot find type 'AnyCancellable' in scope
188 | 		self.publisher?.passthroughSubject.sink(receiveCompletion: receiveCompletion, receiveValue: receiveValue)
189 | 	}
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/ValueBinder.swift:185:35: error: cannot find type 'Subscribers' in scope
183 | 	/// Attaches a subscriber with closure-based behavior. Returns `nil` if the publisher isn't available
184 | 	func sink(
185 | 		 receiveCompletion: @escaping ((Subscribers.Completion<Never>) -> Void),
    |                                   `- error: cannot find type 'Subscribers' in scope
186 | 		 receiveValue: @escaping ((ValueType) -> Void)
187 | 	) -> AnyCancellable? {
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/ValueBinder.swift:185:23: error: @escaping attribute only applies to function types
183 | 	/// Attaches a subscriber with closure-based behavior. Returns `nil` if the publisher isn't available
184 | 	func sink(
185 | 		 receiveCompletion: @escaping ((Subscribers.Completion<Never>) -> Void),
    |                       `- error: @escaping attribute only applies to function types
186 | 		 receiveValue: @escaping ((ValueType) -> Void)
187 | 	) -> AnyCancellable? {
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/private/WrappedPublisher.swift:51:17: error: cannot find type 'AnyPublisher' in scope
49 | 	/// Note that the publisher will send events on non-main threads, so its important
50 | 	/// for your listeners to swap to the main thread if they are updating UI
51 | 	var publisher: AnyPublisher<ValueType, Never> {
   |                 `- error: cannot find type 'AnyPublisher' in scope
52 | 		return self.passthroughSubject.eraseToAnyPublisher()
53 | 	}
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/private/WrappedPublisher.swift:66:62: error: cannot find type 'AnyCancellable' in scope
64 |
65 | 	/// Attaches a subscriber with closure-based behavior to a publisher that never fails.
66 | 	func sink(receiveValue: @escaping ((ValueType) -> Void)) -> AnyCancellable {
   |                                                              `- error: cannot find type 'AnyCancellable' in scope
67 | 		self.passthroughSubject.sink(receiveValue: receiveValue)
68 | 	}
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/private/WrappedPublisher.swift:74:7: error: cannot find type 'AnyCancellable' in scope
72 | 		receiveCompletion: @escaping ((Subscribers.Completion<Never>) -> Void),
73 | 		receiveValue: @escaping ((ValueType) -> Void)
74 | 	) -> AnyCancellable {
   |       `- error: cannot find type 'AnyCancellable' in scope
75 | 		self.passthroughSubject.sink(receiveCompletion: receiveCompletion, receiveValue: receiveValue)
76 | 	}
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/private/WrappedPublisher.swift:72:34: error: cannot find type 'Subscribers' in scope
70 | 	/// Attaches a subscriber with closure-based behavior.
71 | 	func sink(
72 | 		receiveCompletion: @escaping ((Subscribers.Completion<Never>) -> Void),
   |                                  `- error: cannot find type 'Subscribers' in scope
73 | 		receiveValue: @escaping ((ValueType) -> Void)
74 | 	) -> AnyCancellable {
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/private/WrappedPublisher.swift:72:22: error: @escaping attribute only applies to function types
70 | 	/// Attaches a subscriber with closure-based behavior.
71 | 	func sink(
72 | 		receiveCompletion: @escaping ((Subscribers.Completion<Never>) -> Void),
   |                      `- error: @escaping attribute only applies to function types
73 | 		receiveValue: @escaping ((ValueType) -> Void)
74 | 	) -> AnyCancellable {
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/private/WrappedPublisher.swift:86:26: error: cannot find type 'PassthroughSubject' in scope
84 | internal extension WrappedPublisher {
85 | 	// Internal publisher to allow us to send new values
86 | 	var passthroughSubject: PassthroughSubject<ValueType, Never> {
   |                          `- error: cannot find type 'PassthroughSubject' in scope
87 | 		return self._publisher as! PassthroughSubject<ValueType, Never>
88 | 	}
[37/74] Compiling DSFAppearanceManager DSFAppearanceManager.swift
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/EnumKeyPathBinder.swift:104:30: error: cannot find type 'NSKeyValueObservation' in scope
102 |
103 | 	private weak var object: ClassType?
104 | 	private var kvoObservation: NSKeyValueObservation?
    |                              `- error: cannot find type 'NSKeyValueObservation' in scope
105 | 	private let stringPath: String
106 | 	private let lock = SemLock()
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/EnumKeyPathBinder.swift:67:48: error: cannot convert value of type 'KeyPath<ClassType, ValueType>' to expected argument type 'String'
 65 |
 66 | 		// A bit hacky - we need the STRING representation of the keypath for NSObject's calls later.
 67 | 		let stringKeyPath = NSExpression(forKeyPath: keyPath).keyPath
    |                                                `- error: cannot convert value of type 'KeyPath<ClassType, ValueType>' to expected argument type 'String'
 68 | 		guard !stringKeyPath.isEmpty else {
 69 | 			throw ValueBinderErrors.invalidKeyPath
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/EnumKeyPathBinder.swift:76:21: error: value of type 'ClassType' has no member 'value'
 74 | 		// If we cannot get a valid value from the keypath then throw an error (maybe it's a type mismatch?)
 75 | 		guard
 76 | 			let raw = object.value(forKeyPath: stringKeyPath) as? ValueType.RawValue,
    |                     `- error: value of type 'ClassType' has no member 'value'
 77 | 			let initialValue = ValueType(rawValue: raw)
 78 | 		else {
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/EnumKeyPathBinder.swift:89:32: error: value of type 'ClassType' has no member 'observe'
 87 |
 88 | 		// Start listening for kvo changes
 89 | 		self.kvoObservation = object.observe(keyPath, options: [.new]) { [weak self] obj, value in
    |                                `- error: value of type 'ClassType' has no member 'observe'
 90 | 			if
 91 | 				let raw = obj.value(forKeyPath: stringKeyPath) as? ValueType.RawValue,
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/EnumKeyPathBinder.swift:89:60: error: reference to member 'new' cannot be resolved without a contextual type
 87 |
 88 | 		// Start listening for kvo changes
 89 | 		self.kvoObservation = object.observe(keyPath, options: [.new]) { [weak self] obj, value in
    |                                                            `- error: reference to member 'new' cannot be resolved without a contextual type
 90 | 			if
 91 | 				let raw = obj.value(forKeyPath: stringKeyPath) as? ValueType.RawValue,
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/EnumKeyPathBinder.swift:89:80: error: cannot infer type of closure parameter 'obj' without a type annotation
 87 |
 88 | 		// Start listening for kvo changes
 89 | 		self.kvoObservation = object.observe(keyPath, options: [.new]) { [weak self] obj, value in
    |                                                                                `- error: cannot infer type of closure parameter 'obj' without a type annotation
 90 | 			if
 91 | 				let raw = obj.value(forKeyPath: stringKeyPath) as? ValueType.RawValue,
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/EnumKeyPathBinder.swift:89:85: error: cannot infer type of closure parameter 'value' without a type annotation
 87 |
 88 | 		// Start listening for kvo changes
 89 | 		self.kvoObservation = object.observe(keyPath, options: [.new]) { [weak self] obj, value in
    |                                                                                     `- error: cannot infer type of closure parameter 'value' without a type annotation
 90 | 			if
 91 | 				let raw = obj.value(forKeyPath: stringKeyPath) as? ValueType.RawValue,
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/EnumKeyPathBinder.swift:100:25: error: 'nil' requires a contextual type
 98 |
 99 | 	deinit {
100 | 		self.kvoObservation = nil
    |                         `- error: 'nil' requires a contextual type
101 | 	}
102 |
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/EnumKeyPathBinder.swift:124:12: error: value of type 'ClassType' has no member 'setValue'
122 | 		self.lock.tryLock {
123 | 			// Push the new value through to the bound keypath
124 | 			object?.setValue(self.wrappedValue.rawValue, forKey: stringPath)
    |            `- error: value of type 'ClassType' has no member 'setValue'
125 | 			self.callback?(self.wrappedValue)
126 | 		}
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/KeyPathBinder.swift:97:30: error: cannot find type 'NSKeyValueObservation' in scope
 95 |
 96 | 	private weak var object: ClassType?
 97 | 	private var kvoObservation: NSKeyValueObservation?
    |                              `- error: cannot find type 'NSKeyValueObservation' in scope
 98 | 	private let stringPath: String
 99 | 	private let lock = SemLock()
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/KeyPathBinder.swift:104:34: error: cannot find type 'NSKeyValueObservedChange' in scope
102 | 	// MARK: - Change handling
103 |
104 | 	private func kvoUpdate(_ value: NSKeyValueObservedChange<ValueType>) {
    |                                  `- error: cannot find type 'NSKeyValueObservedChange' in scope
105 | 		if let value = value.newValue {
106 | 			self.update(with: value)
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/KeyPathBinder.swift:67:48: error: cannot convert value of type 'KeyPath<ClassType, ValueType>' to expected argument type 'String'
 65 |
 66 | 		// A bit hacky - we need the STRING representation of the keypath for NSObject's calls later.
 67 | 		let stringKeyPath = NSExpression(forKeyPath: keyPath).keyPath
    |                                                `- error: cannot convert value of type 'KeyPath<ClassType, ValueType>' to expected argument type 'String'
 68 | 		guard !stringKeyPath.isEmpty else {
 69 | 			throw ValueBinderErrors.invalidKeyPath
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/KeyPathBinder.swift:75:35: error: value of type 'ClassType' has no member 'value'
 73 | 		// Grab out the initial value from the bound keypath.
 74 | 		// If we cannot get a valid value from the keypath then throw an error (maybe it's a type mismatch?)
 75 | 		guard let initialValue = object.value(forKeyPath: stringKeyPath) as? ValueType else {
    |                                   `- error: value of type 'ClassType' has no member 'value'
 76 | 			Swift.print("The specified key path couldn't be resolved.")
 77 | 			Swift.print("If `keyPath` refers to an enum (eg, `NSToolbar.SizeMode`) use `EnumKeyPathBinder` instead")
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/KeyPathBinder.swift:87:32: error: value of type 'ClassType' has no member 'observe'
 85 |
 86 | 		// Start listening for kvo changes
 87 | 		self.kvoObservation = object.observe(keyPath, options: [.new]) { [weak self] _, value in
    |                                `- error: value of type 'ClassType' has no member 'observe'
 88 | 			self?.kvoUpdate(value)
 89 | 		}
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/KeyPathBinder.swift:87:60: error: reference to member 'new' cannot be resolved without a contextual type
 85 |
 86 | 		// Start listening for kvo changes
 87 | 		self.kvoObservation = object.observe(keyPath, options: [.new]) { [weak self] _, value in
    |                                                            `- error: reference to member 'new' cannot be resolved without a contextual type
 88 | 			self?.kvoUpdate(value)
 89 | 		}
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/KeyPathBinder.swift:87:80: error: cannot infer type of closure parameter '_' without a type annotation
 85 |
 86 | 		// Start listening for kvo changes
 87 | 		self.kvoObservation = object.observe(keyPath, options: [.new]) { [weak self] _, value in
    |                                                                                `- error: cannot infer type of closure parameter '_' without a type annotation
 88 | 			self?.kvoUpdate(value)
 89 | 		}
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/KeyPathBinder.swift:87:83: error: cannot infer type of closure parameter 'value' without a type annotation
 85 |
 86 | 		// Start listening for kvo changes
 87 | 		self.kvoObservation = object.observe(keyPath, options: [.new]) { [weak self] _, value in
    |                                                                                   `- error: cannot infer type of closure parameter 'value' without a type annotation
 88 | 			self?.kvoUpdate(value)
 89 | 		}
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/KeyPathBinder.swift:93:25: error: 'nil' requires a contextual type
 91 |
 92 | 	deinit {
 93 | 		self.kvoObservation = nil
    |                         `- error: 'nil' requires a contextual type
 94 | 	}
 95 |
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/KeyPathBinder.swift:122:12: error: value of type 'ClassType' has no member 'setValue'
120 | 		self.lock.tryLock {
121 | 			// Push the new value through to the bound keypath
122 | 			object?.setValue(self.wrappedValue, forKey: stringPath)
    |            `- error: value of type 'ClassType' has no member 'setValue'
123 | 			self.callback?(self.wrappedValue)
124 | 		}
[38/74] Compiling DSFAppearanceManager NSView+Appearance.swift
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/EnumKeyPathBinder.swift:104:30: error: cannot find type 'NSKeyValueObservation' in scope
102 |
103 | 	private weak var object: ClassType?
104 | 	private var kvoObservation: NSKeyValueObservation?
    |                              `- error: cannot find type 'NSKeyValueObservation' in scope
105 | 	private let stringPath: String
106 | 	private let lock = SemLock()
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/EnumKeyPathBinder.swift:67:48: error: cannot convert value of type 'KeyPath<ClassType, ValueType>' to expected argument type 'String'
 65 |
 66 | 		// A bit hacky - we need the STRING representation of the keypath for NSObject's calls later.
 67 | 		let stringKeyPath = NSExpression(forKeyPath: keyPath).keyPath
    |                                                `- error: cannot convert value of type 'KeyPath<ClassType, ValueType>' to expected argument type 'String'
 68 | 		guard !stringKeyPath.isEmpty else {
 69 | 			throw ValueBinderErrors.invalidKeyPath
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/EnumKeyPathBinder.swift:76:21: error: value of type 'ClassType' has no member 'value'
 74 | 		// If we cannot get a valid value from the keypath then throw an error (maybe it's a type mismatch?)
 75 | 		guard
 76 | 			let raw = object.value(forKeyPath: stringKeyPath) as? ValueType.RawValue,
    |                     `- error: value of type 'ClassType' has no member 'value'
 77 | 			let initialValue = ValueType(rawValue: raw)
 78 | 		else {
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/EnumKeyPathBinder.swift:89:32: error: value of type 'ClassType' has no member 'observe'
 87 |
 88 | 		// Start listening for kvo changes
 89 | 		self.kvoObservation = object.observe(keyPath, options: [.new]) { [weak self] obj, value in
    |                                `- error: value of type 'ClassType' has no member 'observe'
 90 | 			if
 91 | 				let raw = obj.value(forKeyPath: stringKeyPath) as? ValueType.RawValue,
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/EnumKeyPathBinder.swift:89:60: error: reference to member 'new' cannot be resolved without a contextual type
 87 |
 88 | 		// Start listening for kvo changes
 89 | 		self.kvoObservation = object.observe(keyPath, options: [.new]) { [weak self] obj, value in
    |                                                            `- error: reference to member 'new' cannot be resolved without a contextual type
 90 | 			if
 91 | 				let raw = obj.value(forKeyPath: stringKeyPath) as? ValueType.RawValue,
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/EnumKeyPathBinder.swift:89:80: error: cannot infer type of closure parameter 'obj' without a type annotation
 87 |
 88 | 		// Start listening for kvo changes
 89 | 		self.kvoObservation = object.observe(keyPath, options: [.new]) { [weak self] obj, value in
    |                                                                                `- error: cannot infer type of closure parameter 'obj' without a type annotation
 90 | 			if
 91 | 				let raw = obj.value(forKeyPath: stringKeyPath) as? ValueType.RawValue,
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/EnumKeyPathBinder.swift:89:85: error: cannot infer type of closure parameter 'value' without a type annotation
 87 |
 88 | 		// Start listening for kvo changes
 89 | 		self.kvoObservation = object.observe(keyPath, options: [.new]) { [weak self] obj, value in
    |                                                                                     `- error: cannot infer type of closure parameter 'value' without a type annotation
 90 | 			if
 91 | 				let raw = obj.value(forKeyPath: stringKeyPath) as? ValueType.RawValue,
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/EnumKeyPathBinder.swift:100:25: error: 'nil' requires a contextual type
 98 |
 99 | 	deinit {
100 | 		self.kvoObservation = nil
    |                         `- error: 'nil' requires a contextual type
101 | 	}
102 |
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/EnumKeyPathBinder.swift:124:12: error: value of type 'ClassType' has no member 'setValue'
122 | 		self.lock.tryLock {
123 | 			// Push the new value through to the bound keypath
124 | 			object?.setValue(self.wrappedValue.rawValue, forKey: stringPath)
    |            `- error: value of type 'ClassType' has no member 'setValue'
125 | 			self.callback?(self.wrappedValue)
126 | 		}
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/KeyPathBinder.swift:97:30: error: cannot find type 'NSKeyValueObservation' in scope
 95 |
 96 | 	private weak var object: ClassType?
 97 | 	private var kvoObservation: NSKeyValueObservation?
    |                              `- error: cannot find type 'NSKeyValueObservation' in scope
 98 | 	private let stringPath: String
 99 | 	private let lock = SemLock()
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/KeyPathBinder.swift:104:34: error: cannot find type 'NSKeyValueObservedChange' in scope
102 | 	// MARK: - Change handling
103 |
104 | 	private func kvoUpdate(_ value: NSKeyValueObservedChange<ValueType>) {
    |                                  `- error: cannot find type 'NSKeyValueObservedChange' in scope
105 | 		if let value = value.newValue {
106 | 			self.update(with: value)
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/KeyPathBinder.swift:67:48: error: cannot convert value of type 'KeyPath<ClassType, ValueType>' to expected argument type 'String'
 65 |
 66 | 		// A bit hacky - we need the STRING representation of the keypath for NSObject's calls later.
 67 | 		let stringKeyPath = NSExpression(forKeyPath: keyPath).keyPath
    |                                                `- error: cannot convert value of type 'KeyPath<ClassType, ValueType>' to expected argument type 'String'
 68 | 		guard !stringKeyPath.isEmpty else {
 69 | 			throw ValueBinderErrors.invalidKeyPath
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/KeyPathBinder.swift:75:35: error: value of type 'ClassType' has no member 'value'
 73 | 		// Grab out the initial value from the bound keypath.
 74 | 		// If we cannot get a valid value from the keypath then throw an error (maybe it's a type mismatch?)
 75 | 		guard let initialValue = object.value(forKeyPath: stringKeyPath) as? ValueType else {
    |                                   `- error: value of type 'ClassType' has no member 'value'
 76 | 			Swift.print("The specified key path couldn't be resolved.")
 77 | 			Swift.print("If `keyPath` refers to an enum (eg, `NSToolbar.SizeMode`) use `EnumKeyPathBinder` instead")
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/KeyPathBinder.swift:87:32: error: value of type 'ClassType' has no member 'observe'
 85 |
 86 | 		// Start listening for kvo changes
 87 | 		self.kvoObservation = object.observe(keyPath, options: [.new]) { [weak self] _, value in
    |                                `- error: value of type 'ClassType' has no member 'observe'
 88 | 			self?.kvoUpdate(value)
 89 | 		}
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/KeyPathBinder.swift:87:60: error: reference to member 'new' cannot be resolved without a contextual type
 85 |
 86 | 		// Start listening for kvo changes
 87 | 		self.kvoObservation = object.observe(keyPath, options: [.new]) { [weak self] _, value in
    |                                                            `- error: reference to member 'new' cannot be resolved without a contextual type
 88 | 			self?.kvoUpdate(value)
 89 | 		}
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/KeyPathBinder.swift:87:80: error: cannot infer type of closure parameter '_' without a type annotation
 85 |
 86 | 		// Start listening for kvo changes
 87 | 		self.kvoObservation = object.observe(keyPath, options: [.new]) { [weak self] _, value in
    |                                                                                `- error: cannot infer type of closure parameter '_' without a type annotation
 88 | 			self?.kvoUpdate(value)
 89 | 		}
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/KeyPathBinder.swift:87:83: error: cannot infer type of closure parameter 'value' without a type annotation
 85 |
 86 | 		// Start listening for kvo changes
 87 | 		self.kvoObservation = object.observe(keyPath, options: [.new]) { [weak self] _, value in
    |                                                                                   `- error: cannot infer type of closure parameter 'value' without a type annotation
 88 | 			self?.kvoUpdate(value)
 89 | 		}
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/KeyPathBinder.swift:93:25: error: 'nil' requires a contextual type
 91 |
 92 | 	deinit {
 93 | 		self.kvoObservation = nil
    |                         `- error: 'nil' requires a contextual type
 94 | 	}
 95 |
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/KeyPathBinder.swift:122:12: error: value of type 'ClassType' has no member 'setValue'
120 | 		self.lock.tryLock {
121 | 			// Push the new value through to the bound keypath
122 | 			object?.setValue(self.wrappedValue, forKey: stringPath)
    |            `- error: value of type 'ClassType' has no member 'setValue'
123 | 			self.callback?(self.wrappedValue)
124 | 		}
/host/spi-builder-workspace/.build/checkouts/DSFMenuBuilder/Sources/DSFMenuBuilder/Menu.swift:27:8: error: no such module 'AppKit'
 25 | //
 26 |
 27 | import AppKit
    |        `- error: no such module 'AppKit'
 28 |
 29 | /// A representation of a menu
/host/spi-builder-workspace/.build/checkouts/DSFMenuBuilder/Sources/DSFMenuBuilder/Menu.swift:27:8: error: no such module 'AppKit'
 25 | //
 26 |
 27 | import AppKit
    |        `- error: no such module 'AppKit'
 28 |
 29 | /// A representation of a menu
[41/74] Compiling DSFSearchField DSFSearchField.swift
[42/74] Compiling DSFSearchField DSFSearchField+SwiftUI.swift
[47/74] Compiling DSFAppearanceManager DSFAppearanceManager+Listeners.swift
[48/74] Compiling DSFAppearanceManager DSFDebounce.swift
[49/75] Compiling DSFSearchField LocalizationHelpers.swift
[50/75] Compiling DSFSearchField SwiftUIHelpers.swift
[51/76] Compiling DSFMenuBuilder ViewItem+NSViewController.swift
/host/spi-builder-workspace/.build/checkouts/DSFMenuBuilder/Sources/DSFMenuBuilder/Menu.swift:27:8: error: no such module 'AppKit'
 25 | //
 26 |
 27 | import AppKit
    |        `- error: no such module 'AppKit'
 28 |
 29 | /// A representation of a menu
[52/76] Compiling DSFMenuBuilder ViewItem.swift
/host/spi-builder-workspace/.build/checkouts/DSFMenuBuilder/Sources/DSFMenuBuilder/Menu.swift:27:8: error: no such module 'AppKit'
 25 | //
 26 |
 27 | import AppKit
    |        `- error: no such module 'AppKit'
 28 |
 29 | /// A representation of a menu
/host/spi-builder-workspace/.build/checkouts/DSFMenuBuilder/Sources/DSFMenuBuilder/Menu.swift:27:8: error: no such module 'AppKit'
 25 | //
 26 |
 27 | import AppKit
    |        `- error: no such module 'AppKit'
 28 |
 29 | /// A representation of a menu
/host/spi-builder-workspace/.build/checkouts/DSFMenuBuilder/Sources/DSFMenuBuilder/Menu.swift:27:8: error: no such module 'AppKit'
 25 | //
 26 |
 27 | import AppKit
    |        `- error: no such module 'AppKit'
 28 |
 29 | /// A representation of a menu
[55/76] Compiling DSFMenuBuilder NSMenuItemHighlightableView.swift
/host/spi-builder-workspace/.build/checkouts/DSFMenuBuilder/Sources/DSFMenuBuilder/Menu.swift:27:8: error: no such module 'AppKit'
 25 | //
 26 |
 27 | import AppKit
    |        `- error: no such module 'AppKit'
 28 |
 29 | /// A representation of a menu
[56/76] Compiling DSFValueBinders ValueBinder+transformers.swift
[57/76] Compiling DSFValueBinders ValueBinder+Binding.swift
[58/76] Compiling DSFValueBinders ValueBinder.swift
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/ValueBinder.swift:179:62: error: cannot find type 'AnyCancellable' in scope
177 | 	/// Attaches a subscriber with closure-based behavior to a publisher that never fails.
178 | 	/// Returns `nil` if the publisher isn't available
179 | 	func sink(receiveValue: @escaping ((ValueType) -> Void)) -> AnyCancellable? {
    |                                                              `- error: cannot find type 'AnyCancellable' in scope
180 | 		self.publisher?.passthroughSubject.sink(receiveValue: receiveValue)
181 | 	}
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/ValueBinder.swift:187:7: error: cannot find type 'AnyCancellable' in scope
185 | 		 receiveCompletion: @escaping ((Subscribers.Completion<Never>) -> Void),
186 | 		 receiveValue: @escaping ((ValueType) -> Void)
187 | 	) -> AnyCancellable? {
    |       `- error: cannot find type 'AnyCancellable' in scope
188 | 		self.publisher?.passthroughSubject.sink(receiveCompletion: receiveCompletion, receiveValue: receiveValue)
189 | 	}
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/ValueBinder.swift:185:35: error: cannot find type 'Subscribers' in scope
183 | 	/// Attaches a subscriber with closure-based behavior. Returns `nil` if the publisher isn't available
184 | 	func sink(
185 | 		 receiveCompletion: @escaping ((Subscribers.Completion<Never>) -> Void),
    |                                   `- error: cannot find type 'Subscribers' in scope
186 | 		 receiveValue: @escaping ((ValueType) -> Void)
187 | 	) -> AnyCancellable? {
/host/spi-builder-workspace/.build/checkouts/DSFValueBinders/Sources/DSFValueBinders/ValueBinder.swift:185:23: error: @escaping attribute only applies to function types
183 | 	/// Attaches a subscriber with closure-based behavior. Returns `nil` if the publisher isn't available
184 | 	func sink(
185 | 		 receiveCompletion: @escaping ((Subscribers.Completion<Never>) -> Void),
    |                       `- error: @escaping attribute only applies to function types
186 | 		 receiveValue: @escaping ((ValueType) -> Void)
187 | 	) -> AnyCancellable? {
error: emit-module command failed with exit code 1 (use -v to see invocation)
[60/76] Emitting module DSFMenuBuilder
/host/spi-builder-workspace/.build/checkouts/DSFMenuBuilder/Sources/DSFMenuBuilder/Menu.swift:27:8: error: no such module 'AppKit'
 25 | //
 26 |
 27 | import AppKit
    |        `- error: no such module 'AppKit'
 28 |
 29 | /// A representation of a menu
/host/spi-builder-workspace/.build/checkouts/DSFMenuBuilder/Sources/DSFMenuBuilder/Menu.swift:27:8: error: no such module 'AppKit'
 25 | //
 26 |
 27 | import AppKit
    |        `- error: no such module 'AppKit'
 28 |
 29 | /// A representation of a menu
/host/spi-builder-workspace/.build/checkouts/DSFMenuBuilder/Sources/DSFMenuBuilder/Menu.swift:27:8: error: no such module 'AppKit'
 25 | //
 26 |
 27 | import AppKit
    |        `- error: no such module 'AppKit'
 28 |
 29 | /// A representation of a menu
[64/76] Compiling DSFValueBinders SemLock.swift
[64/76] Wrapping AST for DSFSearchField for debugging
[64/76] Wrapping AST for DSFAppearanceManager for debugging
BUILD FAILURE 6.0 linux