Build Information
Failed to build DSFAppKitBuilder, reference main (d188d6
), with Swift 6.1 for Linux on 29 Apr 2025 12:55:10 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.1-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
Build Log
========================================
RunAll
========================================
Builder version: 4.61.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/dagronf/DSFAppKitBuilder.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/dagronf/DSFAppKitBuilder
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
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 main
========================================
Build
========================================
Selected platform: linux
Swift version: 6.1
Building package at path: $PWD
https://github.com/dagronf/DSFAppKitBuilder.git
https://github.com/dagronf/DSFAppKitBuilder.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
"dependencies" : [
{
"identity" : "dsfpagercontrol",
"requirement" : {
"range" : [
{
"lower_bound" : "2.5.2",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/dagronf/DSFPagerControl"
},
{
"identity" : "dsfmenubuilder",
"requirement" : {
"range" : [
{
"lower_bound" : "1.2.1",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/dagronf/DSFMenuBuilder"
},
{
"identity" : "dsfvaluebinders",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "1.1.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/dagronf/DSFValueBinders"
},
{
"identity" : "dsfcombobutton",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/dagronf/DSFComboButton"
},
{
"identity" : "dsftogglebutton",
"requirement" : {
"range" : [
{
"lower_bound" : "7.1.0",
"upper_bound" : "8.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/dagronf/DSFToggleButton"
},
{
"identity" : "dsfstepperview",
"requirement" : {
"range" : [
{
"lower_bound" : "4.3.0",
"upper_bound" : "5.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/dagronf/DSFStepperView"
},
{
"identity" : "dsfsearchfield",
"requirement" : {
"range" : [
{
"lower_bound" : "2.2.2",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/dagronf/DSFSearchField"
}
],
"manifest_display_name" : "DSFAppKitBuilder",
"name" : "DSFAppKitBuilder",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.13"
}
],
"products" : [
{
"name" : "DSFAppKitBuilder",
"targets" : [
"DSFAppKitBuilder"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "DSFAppKitBuilder-static",
"targets" : [
"DSFAppKitBuilder"
],
"type" : {
"library" : [
"static"
]
}
},
{
"name" : "DSFAppKitBuilder-shared",
"targets" : [
"DSFAppKitBuilder"
],
"type" : {
"library" : [
"dynamic"
]
}
}
],
"targets" : [
{
"c99name" : "DSFAppKitBuilderTests",
"module_type" : "SwiftTarget",
"name" : "DSFAppKitBuilderTests",
"path" : "Tests/DSFAppKitBuilderTests",
"sources" : [
"DSFAppKitDSLTests.swift"
],
"target_dependencies" : [
"DSFAppKitBuilder"
],
"type" : "test"
},
{
"c99name" : "DSFAppKitBuilder",
"module_type" : "SwiftTarget",
"name" : "DSFAppKitBuilder",
"path" : "Sources/DSFAppKitBuilder",
"product_dependencies" : [
"DSFMenuBuilder",
"DSFPagerControl",
"DSFValueBinders",
"DSFComboButton",
"DSFToggleButton",
"DSFStepperView",
"DSFSearchField"
],
"product_memberships" : [
"DSFAppKitBuilder",
"DSFAppKitBuilder-static",
"DSFAppKitBuilder-shared"
],
"sources" : [
"DSFAppKitBuilder.swift",
"DSFAppKitBuilderViewHandler.swift",
"binders/DoubleStringBinder.swift",
"binders/ElementBinder.swift",
"binders/WindowBinder.swift",
"components/Accessibility.swift",
"components/AttributedString.swift",
"components/AutoLayout.swift",
"components/Box.swift",
"components/Button+radio.swift",
"components/Button.swift",
"components/ButtonStyle.swift",
"components/CheckBox.swift",
"components/ColorWell.swift",
"components/ComboBox.swift",
"components/ComboButton.swift",
"components/Control.swift",
"components/DatePicker.swift",
"components/DisclosureGroup.swift",
"components/DisclosureView.swift",
"components/Divider.swift",
"components/DynamicElement.swift",
"components/EmptyView.swift",
"components/FlatButton.swift",
"components/Flow.swift",
"components/ForEach.swift",
"components/Form.swift",
"components/Grid.swift",
"components/Group.swift",
"components/IfElse.swift",
"components/Image.swift",
"components/ImageView.swift",
"components/Label.swift",
"components/LabelStyle.swift",
"components/LevelIndicator.swift",
"components/Link.swift",
"components/List.swift",
"components/ManagedWindow.swift",
"components/Maybe.swift",
"components/Nothing.swift",
"components/OneOf.swift",
"components/Pager.swift",
"components/PathControl.swift",
"components/PlainTextView.swift",
"components/PopupButton.swift",
"components/ProgressBar.swift",
"components/RadioGroup.swift",
"components/ScrollView.swift",
"components/SecureTextField.swift",
"components/Segmented.swift",
"components/Shape.swift",
"components/Slider.swift",
"components/SplitView.swift",
"components/Stack.swift",
"components/StackStyle.swift",
"components/Stepper.swift",
"components/StepperView.swift",
"components/Switch.swift",
"components/TabView.swift",
"components/Toggle.swift",
"components/View+SwiftUI.swift",
"components/View.swift",
"components/VisualEffectView.swift",
"components/Window.swift",
"components/ZStack.swift",
"components/ZoomableScrollView.swift",
"components/element/Element+Alert.swift",
"components/element/Element+Change.swift",
"components/element/Element+Gestures.swift",
"components/element/Element+Panel.swift",
"components/element/Element+Popover.swift",
"components/element/Element+Sheet.swift",
"components/element/Element+Size.swift",
"components/element/Element.swift",
"components/text-field/NumberField.swift",
"components/text-field/SearchField.swift",
"components/text-field/TextField.swift",
"components/text-field/TokenField.swift",
"fonts/DynamicFont.swift",
"fonts/DynamicFontService.swift",
"fonts/Font.swift",
"presentation/DSFAppKitBuilderAssignableViewController.swift",
"presentation/DSFAppKitBuilderView.swift",
"presentation/DSFAppKitBuilderViewController.swift",
"presentation/SwiftUIPreviews.swift",
"utils/Animations.swift",
"utils/Autolayout+helpers.swift",
"utils/BindingBag.swift",
"utils/CGColor+extensions.swift",
"utils/CGSize+extensions.swift",
"utils/CSFlatButton.swift",
"utils/CenteringClipView.swift",
"utils/CustomValueTransformers.swift",
"utils/EmbeddedLayoutType.swift",
"utils/Logging.swift",
"utils/NSBezierPath+extensions.swift",
"utils/NSColor+extensions.swift",
"utils/NSGestureRecognizer+actionblock.swift",
"utils/NumberFormatter+extensions.swift",
"utils/PaddableTextField.swift",
"utils/ProtectedLock.swift",
"utils/RangeComponentBinder.swift",
"utils/ScrollableTextView.swift",
"utils/Shadow.swift",
"utils/TrackingArea.swift",
"utils/Utilities.swift",
"utils/VerticalSizingTokenField.swift"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" 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:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Fetching https://github.com/dagronf/DSFSearchField
Fetching https://github.com/dagronf/DSFValueBinders
Fetching https://github.com/dagronf/DSFMenuBuilder
Fetching https://github.com/dagronf/DSFToggleButton
Fetching https://github.com/dagronf/DSFStepperView
Fetching https://github.com/dagronf/DSFComboButton
[1/324] Fetching dsfmenubuilder
[325/1022] Fetching dsfmenubuilder, dsfstepperview
[381/1205] Fetching dsfmenubuilder, dsfstepperview, dsfsearchfield
[443/1372] Fetching dsfmenubuilder, dsfstepperview, dsfsearchfield, dsfcombobutton
[1373/1607] Fetching dsfmenubuilder, dsfstepperview, dsfsearchfield, dsfcombobutton, dsfvaluebinders
Fetched https://github.com/dagronf/DSFComboButton from cache (0.31s)
Fetched https://github.com/dagronf/DSFSearchField from cache (0.31s)
Fetching https://github.com/dagronf/DSFPagerControl
[1/312] Fetching dsfpagercontrol
Fetched https://github.com/dagronf/DSFPagerControl from cache (0.24s)
[1/494] Fetching dsftogglebutton
Fetched https://github.com/dagronf/DSFToggleButton from cache (1.38s)
Fetched https://github.com/dagronf/DSFMenuBuilder from cache (1.38s)
Fetched https://github.com/dagronf/DSFStepperView from cache (1.38s)
Fetched https://github.com/dagronf/DSFValueBinders from cache (1.38s)
Computing version for https://github.com/dagronf/DSFSearchField
Computed https://github.com/dagronf/DSFSearchField at 2.2.2 (1.95s)
Computing version for https://github.com/dagronf/DSFToggleButton
Computed https://github.com/dagronf/DSFToggleButton at 7.1.0 (0.56s)
Fetching https://github.com/dagronf/DSFAppearanceManager
[1/459] Fetching dsfappearancemanager
Fetched https://github.com/dagronf/DSFAppearanceManager from cache (0.33s)
Computing version for https://github.com/dagronf/DSFComboButton
Computed https://github.com/dagronf/DSFComboButton at 1.0.0 (0.91s)
Computing version for https://github.com/dagronf/DSFMenuBuilder
Computed https://github.com/dagronf/DSFMenuBuilder at 1.2.1 (0.61s)
Computing version for https://github.com/dagronf/DSFPagerControl
Computed https://github.com/dagronf/DSFPagerControl at 2.5.2 (0.57s)
Computing version for https://github.com/dagronf/DSFStepperView
Computed https://github.com/dagronf/DSFStepperView at 4.4.0 (0.58s)
Computing version for https://github.com/dagronf/DSFAppearanceManager
Computed https://github.com/dagronf/DSFAppearanceManager at 3.5.1 (0.58s)
Computing version for https://github.com/dagronf/DSFValueBinders
Computed https://github.com/dagronf/DSFValueBinders at 1.0.1 (0.57s)
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/DSFStepperView
Working copy of https://github.com/dagronf/DSFStepperView resolved at 4.4.0
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/DSFToggleButton
Working copy of https://github.com/dagronf/DSFToggleButton resolved at 7.1.0
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/DSFMenuBuilder
Working copy of https://github.com/dagronf/DSFMenuBuilder resolved at 1.2.1
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/DSFComboButton
Working copy of https://github.com/dagronf/DSFComboButton resolved at 1.0.0
Building for debugging...
[0/26] Write sources
[1/26] Copying PrivacyInfo.xcprivacy
[1/26] Copying Localizable.strings
[5/26] Write sources
[7/26] Copying Info.plist
[7/26] Write sources
[12/26] Write swift-version-24593BA9C3E375BF.txt
[14/70] Emitting module DSFComboButton
[15/70] Compiling DSFComboButton DelayedMenuButton.swift
[16/70] Compiling DSFComboButton DSFComboButton+private.swift
[17/70] Compiling DSFMenuBuilder NSMenu+extensions.swift
[18/70] Compiling DSFMenuBuilder MenuItem.swift
[19/70] Emitting module DSFAppearanceManager
[20/71] Compiling DSFComboButton DSFComboButton.swift
[21/71] Compiling DSFAppearanceManager NSAppearance+extensions.swift
[22/72] Wrapping AST for DSFComboButton for debugging
[24/72] Compiling DSFAppearanceManager WeakBag.swift
[25/72] Compiling DSFAppearanceManager DSFSimpleLock.swift
[26/72] Compiling DSFSearchField LocalizationHelpers.swift
[27/72] Compiling DSFSearchField DSFSearchField+SwiftUI.swift
[28/72] Emitting module DSFSearchField
[29/72] Compiling DSFSearchField DSFSearchField.swift
[30/72] Compiling DSFAppearanceManager DSFAppearanceManager+Listeners.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
[31/72] 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? {
[32/72] Compiling DSFAppearanceManager DSFDebounce.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)
[33/72] 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
[36/72] Compiling DSFAppearanceManager NSWindow+Appearance.swift
[37/72] Compiling DSFAppearanceManager AutoplayAnimatedImages.swift
[38/74] Compiling DSFAppearanceManager DSFAppearanceManager.swift
[39/74] Compiling DSFAppearanceManager NSView+Appearance.swift
[44/74] Compiling DSFSearchField SwiftUIHelpers.swift
[45/74] Compiling DSFSearchField resource_bundle_accessor.swift
[46/75] Compiling DSFValueBinders ValueBinder+transformers.swift
[47/75] 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
[48/75] 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
/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: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: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/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: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: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 | }
[51/75] 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
[54/75] 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
error: emit-module command failed with exit code 1 (use -v to see invocation)
[57/75] 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 | }
[58/75] Compiling DSFValueBinders ValueBinder+Binding.swift
[59/75] 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 |
[60/75] Compiling DSFAppearanceManager WeakBox.swift
[61/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
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" 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:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
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/14] Write swift-version-24593BA9C3E375BF.txt
[2/56] Compiling DSFAppearanceManager DSFAppearanceManager.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
[3/56] Compiling DSFAppearanceManager NSView+Appearance.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
[4/59] Compiling DSFComboButton DelayedMenuButton.swift
[5/59] 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
[6/59] 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 |
[7/59] 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
[8/60] Compiling DSFAppearanceManager WeakBag.swift
[9/60] Compiling DSFAppearanceManager NSAppearance+extensions.swift
[10/61] Compiling DSFAppearanceManager DSFAppearanceCache.swift
[11/61] Compiling DSFAppearanceManager DSFAppearanceManager+ChangeDetector.swift
[12/61] Compiling DSFComboButton DSFComboButton+private.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[13/61] 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
[16/61] Compiling DSFAppearanceManager NSWindow+Appearance.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
[17/61] Compiling DSFAppearanceManager AutoplayAnimatedImages.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
[20/61] Compiling DSFComboButton DSFComboButton.swift
[21/61] Emitting module DSFComboButton
[22/61] 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
[23/61] 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
[24/61] 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
[25/62] Compiling DSFSearchField resource_bundle_accessor.swift
[26/62] Compiling DSFSearchField DSFSearchField+SwiftUI.swift
[27/62] Emitting module DSFSearchField
[28/62] Compiling DSFSearchField DSFSearchField.swift
[29/62] 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? {
[30/62] Compiling DSFValueBinders ValueBinder+transformers.swift
[31/62] Compiling DSFValueBinders ValueBinder+Binding.swift
[32/62] Compiling DSFSearchField LocalizationHelpers.swift
[33/62] Compiling DSFSearchField SwiftUIHelpers.swift
[34/63] Emitting module DSFAppearanceManager
/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: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: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/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: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: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 | }
BUILD FAILURE 6.1 linux