Build Information
Successful build of Knob with Swift 6.0 for macOS (SPM).
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/bradhowes/Knob.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/bradhowes/Knob
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 16e2265 Additional make targets to run KnobDemo
Cloned https://github.com/bradhowes/Knob.git
Revision (git rev-parse @):
16e2265e836fede2bf1a3b8df5a3b32dc26fe4fe
SUCCESS checkout https://github.com/bradhowes/Knob.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $workDir
https://github.com/bradhowes/Knob.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version-6F35C1178C84523A.txt
[4/12] Compiling Knob_iOS KnobView.swift
[5/12] Compiling Knob_iOS Knob.swift
[6/12] Emitting module Knob_iOS
[7/12] Compiling Knob_iOS Color.swift
[8/12] Emitting module Knob_macOS
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/Knob.swift:242:15: warning: main actor-isolated instance method 'display' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
238 | // MARK: - CALayerDelegate
239 |
240 | extension Knob: CALayerDelegate {
| `- note: add '@preconcurrency' to the 'CALayerDelegate' conformance to defer isolation checking to run time
241 |
242 | public func display(_ layer: CALayer) {
| |- warning: main actor-isolated instance method 'display' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'display' to make this instance method not isolated to the actor
243 | if layer === trackLayer {
244 | trackLayer.lineWidth = trackLineWidth
QuartzCore.CALayerDelegate:3:19: note: 'display' declared here
1 | public protocol CALayerDelegate : NSObjectProtocol {
2 | @available(macOS 10.5, *)
3 | optional func display(_ layer: CALayer)
| `- note: 'display' declared here
4 | @available(swift, obsoleted: 3, renamed: "display(_:)")
5 | optional func displayLayer(_ layer: CALayer)
AppKit.NSView:595:26: warning: main actor-isolated instance method 'accessibilityLabel()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
593 | open func setAccessibilityContents(_ accessibilityContents: [Any]?)
594 | @available(macOS 10.10, *)
595 | @MainActor open func accessibilityLabel() -> String?
| |- warning: main actor-isolated instance method 'accessibilityLabel()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'accessibilityLabel()' to make this instance method not isolated to the actor
596 | @available(macOS 10.10, *)
597 | open func setAccessibilityLabel(_ accessibilityLabel: String?)
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/Knob.swift:301:18: note: add '@preconcurrency' to the 'NSAccessibilitySlider' conformance to defer isolation checking to run time
299 | }
300 |
301 | extension Knob : NSAccessibilitySlider {
| `- note: add '@preconcurrency' to the 'NSAccessibilitySlider' conformance to defer isolation checking to run time
302 | public override func isAccessibilityElement() -> Bool { true }
303 | public override func isAccessibilityEnabled() -> Bool { true }
AppKit.NSAccessibilitySlider:2:10: note: 'accessibilityLabel()' declared here
1 | public protocol NSAccessibilitySlider : NSAccessibilityElementProtocol {
2 | func accessibilityLabel() -> String?
| `- note: 'accessibilityLabel()' declared here
3 | func accessibilityValue() -> Any?
4 | func accessibilityPerformIncrement() -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/Knob.swift:306:24: warning: main actor-isolated instance method 'accessibilityValue()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
304 |
305 | // Value is a NSString or a NSNumber
306 | override public func accessibilityValue() -> Any? {
| |- warning: main actor-isolated instance method 'accessibilityValue()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'accessibilityValue()' to make this instance method not isolated to the actor
307 | return NSNumber(value: value)
308 | }
AppKit.NSAccessibilitySlider:3:10: note: 'accessibilityValue()' declared here
1 | public protocol NSAccessibilitySlider : NSAccessibilityElementProtocol {
2 | func accessibilityLabel() -> String?
3 | func accessibilityValue() -> Any?
| `- note: 'accessibilityValue()' declared here
4 | func accessibilityPerformIncrement() -> Bool
5 | func accessibilityPerformDecrement() -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/Knob.swift:310:24: warning: main actor-isolated instance method 'accessibilityPerformIncrement()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
308 | }
309 |
310 | override public func accessibilityPerformIncrement() -> Bool {
| |- warning: main actor-isolated instance method 'accessibilityPerformIncrement()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'accessibilityPerformIncrement()' to make this instance method not isolated to the actor
311 | guard value < maximumValue else { return false }
312 | value += 1.0
AppKit.NSAccessibilitySlider:4:10: note: 'accessibilityPerformIncrement()' declared here
2 | func accessibilityLabel() -> String?
3 | func accessibilityValue() -> Any?
4 | func accessibilityPerformIncrement() -> Bool
| `- note: 'accessibilityPerformIncrement()' declared here
5 | func accessibilityPerformDecrement() -> Bool
6 | }
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/Knob.swift:316:24: warning: main actor-isolated instance method 'accessibilityPerformDecrement()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
314 | }
315 |
316 | override public func accessibilityPerformDecrement() -> Bool {
| |- warning: main actor-isolated instance method 'accessibilityPerformDecrement()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'accessibilityPerformDecrement()' to make this instance method not isolated to the actor
317 | guard value > minimumValue else { return false }
318 | value -= 1.0
AppKit.NSAccessibilitySlider:5:10: note: 'accessibilityPerformDecrement()' declared here
3 | func accessibilityValue() -> Any?
4 | func accessibilityPerformIncrement() -> Bool
5 | func accessibilityPerformDecrement() -> Bool
| `- note: 'accessibilityPerformDecrement()' declared here
6 | }
[9/12] Compiling Knob_macOS Knob.swift
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/Knob.swift:242:15: warning: main actor-isolated instance method 'display' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
238 | // MARK: - CALayerDelegate
239 |
240 | extension Knob: CALayerDelegate {
| `- note: add '@preconcurrency' to the 'CALayerDelegate' conformance to defer isolation checking to run time
241 |
242 | public func display(_ layer: CALayer) {
| |- warning: main actor-isolated instance method 'display' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'display' to make this instance method not isolated to the actor
243 | if layer === trackLayer {
244 | trackLayer.lineWidth = trackLineWidth
QuartzCore.CALayerDelegate:3:19: note: 'display' declared here
1 | public protocol CALayerDelegate : NSObjectProtocol {
2 | @available(macOS 10.5, *)
3 | optional func display(_ layer: CALayer)
| `- note: 'display' declared here
4 | @available(swift, obsoleted: 3, renamed: "display(_:)")
5 | optional func displayLayer(_ layer: CALayer)
AppKit.NSView:595:26: warning: main actor-isolated instance method 'accessibilityLabel()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
593 | open func setAccessibilityContents(_ accessibilityContents: [Any]?)
594 | @available(macOS 10.10, *)
595 | @MainActor open func accessibilityLabel() -> String?
| |- warning: main actor-isolated instance method 'accessibilityLabel()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'accessibilityLabel()' to make this instance method not isolated to the actor
596 | @available(macOS 10.10, *)
597 | open func setAccessibilityLabel(_ accessibilityLabel: String?)
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/Knob.swift:301:18: note: add '@preconcurrency' to the 'NSAccessibilitySlider' conformance to defer isolation checking to run time
299 | }
300 |
301 | extension Knob : NSAccessibilitySlider {
| `- note: add '@preconcurrency' to the 'NSAccessibilitySlider' conformance to defer isolation checking to run time
302 | public override func isAccessibilityElement() -> Bool { true }
303 | public override func isAccessibilityEnabled() -> Bool { true }
AppKit.NSAccessibilitySlider:2:10: note: 'accessibilityLabel()' declared here
1 | public protocol NSAccessibilitySlider : NSAccessibilityElementProtocol {
2 | func accessibilityLabel() -> String?
| `- note: 'accessibilityLabel()' declared here
3 | func accessibilityValue() -> Any?
4 | func accessibilityPerformIncrement() -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/Knob.swift:306:24: warning: main actor-isolated instance method 'accessibilityValue()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
304 |
305 | // Value is a NSString or a NSNumber
306 | override public func accessibilityValue() -> Any? {
| |- warning: main actor-isolated instance method 'accessibilityValue()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'accessibilityValue()' to make this instance method not isolated to the actor
307 | return NSNumber(value: value)
308 | }
AppKit.NSAccessibilitySlider:3:10: note: 'accessibilityValue()' declared here
1 | public protocol NSAccessibilitySlider : NSAccessibilityElementProtocol {
2 | func accessibilityLabel() -> String?
3 | func accessibilityValue() -> Any?
| `- note: 'accessibilityValue()' declared here
4 | func accessibilityPerformIncrement() -> Bool
5 | func accessibilityPerformDecrement() -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/Knob.swift:310:24: warning: main actor-isolated instance method 'accessibilityPerformIncrement()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
308 | }
309 |
310 | override public func accessibilityPerformIncrement() -> Bool {
| |- warning: main actor-isolated instance method 'accessibilityPerformIncrement()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'accessibilityPerformIncrement()' to make this instance method not isolated to the actor
311 | guard value < maximumValue else { return false }
312 | value += 1.0
AppKit.NSAccessibilitySlider:4:10: note: 'accessibilityPerformIncrement()' declared here
2 | func accessibilityLabel() -> String?
3 | func accessibilityValue() -> Any?
4 | func accessibilityPerformIncrement() -> Bool
| `- note: 'accessibilityPerformIncrement()' declared here
5 | func accessibilityPerformDecrement() -> Bool
6 | }
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/Knob.swift:316:24: warning: main actor-isolated instance method 'accessibilityPerformDecrement()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
314 | }
315 |
316 | override public func accessibilityPerformDecrement() -> Bool {
| |- warning: main actor-isolated instance method 'accessibilityPerformDecrement()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'accessibilityPerformDecrement()' to make this instance method not isolated to the actor
317 | guard value > minimumValue else { return false }
318 | value -= 1.0
AppKit.NSAccessibilitySlider:5:10: note: 'accessibilityPerformDecrement()' declared here
3 | func accessibilityValue() -> Any?
4 | func accessibilityPerformIncrement() -> Bool
5 | func accessibilityPerformDecrement() -> Bool
| `- note: 'accessibilityPerformDecrement()' declared here
6 | }
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/Knob.swift:278:12: warning: call to main actor-isolated instance method 'performRestoration(label:value:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
276 | restorationTimer = Timer.scheduledTimer(withTimeInterval: valuePersistence, repeats: false) { [weak self] _ in
277 | guard let self = self else { return }
278 | self.performRestoration(label: valueLabel, value: valueName)
| `- warning: call to main actor-isolated instance method 'performRestoration(label:value:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
279 | }
280 | }
281 |
282 | private func performRestoration(label: NSTextField, value: String) {
| `- note: calls to instance method 'performRestoration(label:value:)' from outside of its actor context are implicitly asynchronous
283 | NSAnimationContext.runAnimationGroup({ context in
284 | context.duration = nameTransitionDuration
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/Knob.swift:368:30: warning: call to main actor-isolated instance method 'sendAction(_:to:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
366 |
367 | private func notifyTarget() {
368 | updateQueue.async { self.sendAction(self.action, to: self.target) }
| `- warning: call to main actor-isolated instance method 'sendAction(_:to:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
369 | }
370 | }
AppKit.NSControl:36:26: note: calls to instance method 'sendAction(_:to:)' from outside of its actor context are implicitly asynchronous
34 | @available(swift, obsoleted: 3, renamed: "sendAction(on:)")
35 | open func sendActionOn(_ mask: NSEvent.EventTypeMask) -> Int
36 | @MainActor open func sendAction(_ action: Selector?, to target: Any?) -> Bool
| `- note: calls to instance method 'sendAction(_:to:)' from outside of its actor context are implicitly asynchronous
37 | open func takeIntValueFrom(_ sender: Any?)
38 | open func takeFloatValueFrom(_ sender: Any?)
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/Knob.swift:368:46: warning: main actor-isolated property 'action' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
366 |
367 | private func notifyTarget() {
368 | updateQueue.async { self.sendAction(self.action, to: self.target) }
| `- warning: main actor-isolated property 'action' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
369 | }
370 | }
AppKit.NSControl:5:14: note: property declared here
3 | @MainActor public init?(coder: NSCoder)
4 | weak open var target: AnyObject? { get set }
5 | open var action: Selector? { get set }
| `- note: property declared here
6 | @MainActor open var tag: Int { get set }
7 | open var ignoresMultiClick: Bool { get set }
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/Knob.swift:368:63: warning: main actor-isolated property 'target' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
366 |
367 | private func notifyTarget() {
368 | updateQueue.async { self.sendAction(self.action, to: self.target) }
| `- warning: main actor-isolated property 'target' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
369 | }
370 | }
AppKit.NSControl:4:19: note: property declared here
2 | @MainActor public init(frame frameRect: NSRect)
3 | @MainActor public init?(coder: NSCoder)
4 | weak open var target: AnyObject? { get set }
| `- note: property declared here
5 | open var action: Selector? { get set }
6 | @MainActor open var tag: Int { get set }
[10/12] Compiling Knob_macOS NSBezierPath.swift
[11/12] Compiling Knob_macOS Color.swift
[12/12] Compiling Knob_macOS KnobView.swift
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/KnobView.swift:64:16: warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
61 | public func updateNSView(_ view: Knob, context: Context) { updateView(view, context: context) }
62 |
63 | func makeView(context: Context) -> Knob {
| `- note: add '@MainActor' to make instance method 'makeView(context:)' part of global actor 'MainActor'
64 | let knob = Knob()
| `- warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
65 | context.coordinator.monitor(knob)
66 | updateView(knob, context: context)
AppKit.NSControl:67:35: note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
65 | @available(swift, obsoleted: 3, renamed: "draw(withExpansionFrame:in:)")
66 | open func drawWithExpansionFrame(_ contentFrame: NSRect, inView view: NSView)
67 | @MainActor public convenience init()
| `- note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
68 | }
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/KnobView.swift:65:13: warning: main actor-isolated property 'coordinator' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
61 | public func updateNSView(_ view: Knob, context: Context) { updateView(view, context: context) }
62 |
63 | func makeView(context: Context) -> Knob {
| `- note: add '@MainActor' to make instance method 'makeView(context:)' part of global actor 'MainActor'
64 | let knob = Knob()
65 | context.coordinator.monitor(knob)
| `- warning: main actor-isolated property 'coordinator' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
66 | updateView(knob, context: context)
67 | return knob
SwiftUI.NSViewRepresentableContext:7:27: note: property declared here
5 | @available(visionOS, unavailable)
6 | @MainActor public struct NSViewRepresentableContext<View> where View : NSViewRepresentable {
7 | @MainActor public let coordinator: View.Coordinator
| `- note: property declared here
8 | @MainActor public var transaction: Transaction { get }
9 | @MainActor public var environment: EnvironmentValues { get }
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/KnobView.swift:71:10: warning: main actor-isolated property 'value' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
68 | }
69 |
70 | func updateView(_ view: Knob, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateView(_:context:)' part of global actor 'MainActor'
71 | view.value = value
| `- warning: main actor-isolated property 'value' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
72 |
73 | view.minimumValue = minimumValue
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/Knob.swift:36:28: note: mutation of this property is only permitted within the actor
34 |
35 | /// The current value of the control, expressed in a value between `minimumValue` and `maximumValue`
36 | @objc public dynamic var value: Float {
| `- note: mutation of this property is only permitted within the actor
37 | get { _normalizedValue * (maximumValue - minimumValue) + minimumValue }
38 | set { setValue(newValue) }
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/KnobView.swift:73:10: warning: main actor-isolated property 'minimumValue' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
68 | }
69 |
70 | func updateView(_ view: Knob, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateView(_:context:)' part of global actor 'MainActor'
71 | view.value = value
72 |
73 | view.minimumValue = minimumValue
| `- warning: main actor-isolated property 'minimumValue' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
74 | view.maximumValue = maximumValue
75 |
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/Knob.swift:20:14: note: mutation of this property is only permitted within the actor
18 |
19 | /// The minimum value reported by the control.
20 | public var minimumValue: Float = 0.0 {
| `- note: mutation of this property is only permitted within the actor
21 | didSet {
22 | if minimumValue >= maximumValue { maximumValue = minimumValue + 1.0 }
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/KnobView.swift:74:10: warning: main actor-isolated property 'maximumValue' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
68 | }
69 |
70 | func updateView(_ view: Knob, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateView(_:context:)' part of global actor 'MainActor'
71 | view.value = value
72 |
73 | view.minimumValue = minimumValue
74 | view.maximumValue = maximumValue
| `- warning: main actor-isolated property 'maximumValue' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
75 |
76 | view.touchSensitivity = touchSensitivity
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/Knob.swift:28:14: note: mutation of this property is only permitted within the actor
26 |
27 | /// The maximum value reported by the control.
28 | public var maximumValue: Float = 1.0 {
| `- note: mutation of this property is only permitted within the actor
29 | didSet {
30 | if maximumValue <= minimumValue { minimumValue = maximumValue - 1.0 }
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/KnobView.swift:76:10: warning: main actor-isolated property 'touchSensitivity' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
68 | }
69 |
70 | func updateView(_ view: Knob, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateView(_:context:)' part of global actor 'MainActor'
71 | view.value = value
72 |
:
74 | view.maximumValue = maximumValue
75 |
76 | view.touchSensitivity = touchSensitivity
| `- warning: main actor-isolated property 'touchSensitivity' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
77 | view.maxChangeRegionWidthPercentage = maxChangeRegionWidthPercentage
78 |
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/Knob.swift:50:14: note: mutation of this property is only permitted within the actor
48 | /// By default this is 1x the `travelDistance` value. Setting it to 2 will require 2x the `travelDistance` to go from
49 | /// `minimumValue` to `maximumValue`.
50 | public var touchSensitivity: CGFloat = 1.0
| `- note: mutation of this property is only permitted within the actor
51 |
52 | /// Percentage of `travelDistance` where a touch/mouse event will perform maximum value change. This defines a
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/KnobView.swift:77:10: warning: main actor-isolated property 'maxChangeRegionWidthPercentage' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
68 | }
69 |
70 | func updateView(_ view: Knob, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateView(_:context:)' part of global actor 'MainActor'
71 | view.value = value
72 |
:
75 |
76 | view.touchSensitivity = touchSensitivity
77 | view.maxChangeRegionWidthPercentage = maxChangeRegionWidthPercentage
| `- warning: main actor-isolated property 'maxChangeRegionWidthPercentage' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
78 |
79 | view.trackWidthFactor = trackWidthFactor
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/Knob.swift:55:14: note: mutation of this property is only permitted within the actor
53 | /// vertical region in the middle of the view. Events outside of this region will have finer sensitivity and control
54 | /// over value changes.
55 | public var maxChangeRegionWidthPercentage: CGFloat = 0.1
| `- note: mutation of this property is only permitted within the actor
56 |
57 | /// Controls the width of the track arc that is shown behind the progress track. The track with will be the smaller of
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/KnobView.swift:79:10: warning: main actor-isolated property 'trackWidthFactor' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
68 | }
69 |
70 | func updateView(_ view: Knob, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateView(_:context:)' part of global actor 'MainActor'
71 | view.value = value
72 |
:
77 | view.maxChangeRegionWidthPercentage = maxChangeRegionWidthPercentage
78 |
79 | view.trackWidthFactor = trackWidthFactor
| `- warning: main actor-isolated property 'trackWidthFactor' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
80 | view.progressWidthFactor = progressWidthFactor
81 |
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/Knob.swift:59:14: note: mutation of this property is only permitted within the actor
57 | /// Controls the width of the track arc that is shown behind the progress track. The track with will be the smaller of
58 | /// the width/height of the bounds times this value.
59 | public var trackWidthFactor: CGFloat = 0.08 { didSet { trackLayer.setNeedsDisplay() } }
| `- note: mutation of this property is only permitted within the actor
60 |
61 | /// The color of the arc shown after the current value.
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/KnobView.swift:80:10: warning: main actor-isolated property 'progressWidthFactor' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
68 | }
69 |
70 | func updateView(_ view: Knob, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateView(_:context:)' part of global actor 'MainActor'
71 | view.value = value
72 |
:
78 |
79 | view.trackWidthFactor = trackWidthFactor
80 | view.progressWidthFactor = progressWidthFactor
| `- warning: main actor-isolated property 'progressWidthFactor' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
81 |
82 | view.indicatorWidthFactor = indicatorWidthFactor
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/Knob.swift:66:14: note: mutation of this property is only permitted within the actor
64 | /// Controls the width of the progress arc that is shown on top of the track arc. The width with will be the smaller
65 | /// of the width/height of the bounds times this value. See `trackWidthFactor`.
66 | public var progressWidthFactor: CGFloat = 0.055 { didSet { progressLayer.setNeedsDisplay() } }
| `- note: mutation of this property is only permitted within the actor
67 |
68 | /// The color of the arc from the start up to the current value.
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/KnobView.swift:82:10: warning: main actor-isolated property 'indicatorWidthFactor' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
68 | }
69 |
70 | func updateView(_ view: Knob, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateView(_:context:)' part of global actor 'MainActor'
71 | view.value = value
72 |
:
80 | view.progressWidthFactor = progressWidthFactor
81 |
82 | view.indicatorWidthFactor = indicatorWidthFactor
| `- warning: main actor-isolated property 'indicatorWidthFactor' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
83 | view.indicatorLineLength = indicatorLineLength
84 |
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/Knob.swift:73:14: note: mutation of this property is only permitted within the actor
71 |
72 | /// The width of the radial line drawn from the current value on the arc towards the arc center.
73 | public var indicatorWidthFactor: CGFloat = 0.055 { didSet { indicatorLayer.setNeedsDisplay() } }
| `- note: mutation of this property is only permitted within the actor
74 |
75 | /// The color of the radial line drawn from the current value on the arc towards the arc center.
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/KnobView.swift:83:10: warning: main actor-isolated property 'indicatorLineLength' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
68 | }
69 |
70 | func updateView(_ view: Knob, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateView(_:context:)' part of global actor 'MainActor'
71 | view.value = value
72 |
:
81 |
82 | view.indicatorWidthFactor = indicatorWidthFactor
83 | view.indicatorLineLength = indicatorLineLength
| `- warning: main actor-isolated property 'indicatorLineLength' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
84 |
85 | view.tickCount = tickCount
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/Knob.swift:82:14: note: mutation of this property is only permitted within the actor
80 | /// Range is from 0.0 to 1.0, where 1.0 will draw a complete line, and anything less will draw that fraction of it
81 | /// starting from the arc.
82 | public var indicatorLineLength: CGFloat = 0.3 { didSet { indicatorLayer.setNeedsDisplay() } }
| `- note: mutation of this property is only permitted within the actor
83 |
84 | /// Number of ticks to show inside the track, with the first indicating the `minimumValue` and the last indicating
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/KnobView.swift:85:10: warning: main actor-isolated property 'tickCount' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
68 | }
69 |
70 | func updateView(_ view: Knob, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateView(_:context:)' part of global actor 'MainActor'
71 | view.value = value
72 |
:
83 | view.indicatorLineLength = indicatorLineLength
84 |
85 | view.tickCount = tickCount
| `- warning: main actor-isolated property 'tickCount' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
86 | view.tickLineOffset = tickLineOffset
87 | view.tickLineLength = tickLineLength
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/Knob.swift:86:14: note: mutation of this property is only permitted within the actor
84 | /// Number of ticks to show inside the track, with the first indicating the `minimumValue` and the last indicating
85 | /// the `maximumValue`
86 | public var tickCount: Int = 0 { didSet { ticksLayer.setNeedsDisplay() } }
| `- note: mutation of this property is only permitted within the actor
87 |
88 | /// Offset for the start of a tick line. Range is from 0.0 to 1.0 where 0.0 starts at the circumference of the arc,
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/KnobView.swift:86:10: warning: main actor-isolated property 'tickLineOffset' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
68 | }
69 |
70 | func updateView(_ view: Knob, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateView(_:context:)' part of global actor 'MainActor'
71 | view.value = value
72 |
:
84 |
85 | view.tickCount = tickCount
86 | view.tickLineOffset = tickLineOffset
| `- warning: main actor-isolated property 'tickLineOffset' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
87 | view.tickLineLength = tickLineLength
88 | view.tickLineWidth = tickLineWidth
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/Knob.swift:90:14: note: mutation of this property is only permitted within the actor
88 | /// Offset for the start of a tick line. Range is from 0.0 to 1.0 where 0.0 starts at the circumference of the arc,
89 | /// and 0.5 is midway between the circumference and the center along a radial.
90 | public var tickLineOffset: CGFloat = 0.1 { didSet { ticksLayer.setNeedsDisplay() } }
| `- note: mutation of this property is only permitted within the actor
91 |
92 | /// Length of the tick. Range is from 0.0 to 1.0 where 1.0 will draw a line ending at the center of the knob.
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/KnobView.swift:87:10: warning: main actor-isolated property 'tickLineLength' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
68 | }
69 |
70 | func updateView(_ view: Knob, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateView(_:context:)' part of global actor 'MainActor'
71 | view.value = value
72 |
:
85 | view.tickCount = tickCount
86 | view.tickLineOffset = tickLineOffset
87 | view.tickLineLength = tickLineLength
| `- warning: main actor-isolated property 'tickLineLength' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
88 | view.tickLineWidth = tickLineWidth
89 |
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/Knob.swift:93:14: note: mutation of this property is only permitted within the actor
91 |
92 | /// Length of the tick. Range is from 0.0 to 1.0 where 1.0 will draw a line ending at the center of the knob.
93 | public var tickLineLength: CGFloat = 0.2 { didSet { ticksLayer.setNeedsDisplay() } }
| `- note: mutation of this property is only permitted within the actor
94 |
95 | /// The width of the tick line.
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/KnobView.swift:88:10: warning: main actor-isolated property 'tickLineWidth' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
68 | }
69 |
70 | func updateView(_ view: Knob, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateView(_:context:)' part of global actor 'MainActor'
71 | view.value = value
72 |
:
86 | view.tickLineOffset = tickLineOffset
87 | view.tickLineLength = tickLineLength
88 | view.tickLineWidth = tickLineWidth
| `- warning: main actor-isolated property 'tickLineWidth' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
89 |
90 | if #available(iOS 14, macOS 11, *) {
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/Knob.swift:96:14: note: mutation of this property is only permitted within the actor
94 |
95 | /// The width of the tick line.
96 | public var tickLineWidth: CGFloat = 1.0 { didSet { ticksLayer.setNeedsDisplay() } }
| `- note: mutation of this property is only permitted within the actor
97 |
98 | /// The color of the tick line.
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/KnobView.swift:91:12: warning: main actor-isolated property 'trackColor' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
68 | }
69 |
70 | func updateView(_ view: Knob, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateView(_:context:)' part of global actor 'MainActor'
71 | view.value = value
72 |
:
89 |
90 | if #available(iOS 14, macOS 11, *) {
91 | view.trackColor = NSColor(trackColor)
| `- warning: main actor-isolated property 'trackColor' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
92 | view.progressColor = NSColor(progressColor)
93 | view.indicatorColor = NSColor(indicatorColor)
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/Knob.swift:62:14: note: mutation of this property is only permitted within the actor
60 |
61 | /// The color of the arc shown after the current value.
62 | public var trackColor: NSColor = .darkGray.darker.darker.darker { didSet { trackLayer.setNeedsDisplay() } }
| `- note: mutation of this property is only permitted within the actor
63 |
64 | /// Controls the width of the progress arc that is shown on top of the track arc. The width with will be the smaller
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/KnobView.swift:92:12: warning: main actor-isolated property 'progressColor' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
68 | }
69 |
70 | func updateView(_ view: Knob, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateView(_:context:)' part of global actor 'MainActor'
71 | view.value = value
72 |
:
90 | if #available(iOS 14, macOS 11, *) {
91 | view.trackColor = NSColor(trackColor)
92 | view.progressColor = NSColor(progressColor)
| `- warning: main actor-isolated property 'progressColor' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
93 | view.indicatorColor = NSColor(indicatorColor)
94 | view.tickColor = NSColor(tickColor)
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/Knob.swift:69:14: note: mutation of this property is only permitted within the actor
67 |
68 | /// The color of the arc from the start up to the current value.
69 | public var progressColor: NSColor = .init(red: 1.0, green: 0.575, blue: 0.0, alpha: 1.0)
| `- note: mutation of this property is only permitted within the actor
70 | { didSet { progressLayer.setNeedsDisplay() } }
71 |
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/KnobView.swift:93:12: warning: main actor-isolated property 'indicatorColor' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
68 | }
69 |
70 | func updateView(_ view: Knob, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateView(_:context:)' part of global actor 'MainActor'
71 | view.value = value
72 |
:
91 | view.trackColor = NSColor(trackColor)
92 | view.progressColor = NSColor(progressColor)
93 | view.indicatorColor = NSColor(indicatorColor)
| `- warning: main actor-isolated property 'indicatorColor' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
94 | view.tickColor = NSColor(tickColor)
95 | }
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/Knob.swift:76:14: note: mutation of this property is only permitted within the actor
74 |
75 | /// The color of the radial line drawn from the current value on the arc towards the arc center.
76 | public var indicatorColor: NSColor = .init(red: 1.0, green: 0.575, blue: 0.0, alpha: 1.0)
| `- note: mutation of this property is only permitted within the actor
77 | { didSet { indicatorLayer.setNeedsDisplay() } }
78 |
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/KnobView.swift:94:12: warning: main actor-isolated property 'tickColor' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
68 | }
69 |
70 | func updateView(_ view: Knob, context: Context) {
| `- note: add '@MainActor' to make instance method 'updateView(_:context:)' part of global actor 'MainActor'
71 | view.value = value
72 |
:
92 | view.progressColor = NSColor(progressColor)
93 | view.indicatorColor = NSColor(indicatorColor)
94 | view.tickColor = NSColor(tickColor)
| `- warning: main actor-isolated property 'tickColor' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
95 | }
96 | }
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/Knob.swift:99:14: note: mutation of this property is only permitted within the actor
97 |
98 | /// The color of the tick line.
99 | public var tickColor: NSColor = .black { didSet { ticksLayer.setNeedsDisplay() } }
| `- note: mutation of this property is only permitted within the actor
100 |
101 | public var backgroundColor: NSColor {
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/KnobView.swift:115:12: warning: main actor-isolated property 'target' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
112 | public init(_ knobView: KnobView) { self.knobView = knobView }
113 |
114 | func monitor(_ knob: Knob) {
| `- note: add '@MainActor' to make instance method 'monitor' part of global actor 'MainActor'
115 | knob.target = self
| `- warning: main actor-isolated property 'target' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
116 | knob.action = #selector(valueChanged(_:))
117 | }
AppKit.NSControl:4:19: note: mutation of this property is only permitted within the actor
2 | public init(frame frameRect: NSRect)
3 | public init?(coder: NSCoder)
4 | weak open var target: AnyObject? { get set }
| `- note: mutation of this property is only permitted within the actor
5 | open var action: Selector? { get set }
6 | open var tag: Int { get set }
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/KnobView.swift:116:12: warning: main actor-isolated property 'action' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
112 | public init(_ knobView: KnobView) { self.knobView = knobView }
113 |
114 | func monitor(_ knob: Knob) {
| `- note: add '@MainActor' to make instance method 'monitor' part of global actor 'MainActor'
115 | knob.target = self
116 | knob.action = #selector(valueChanged(_:))
| `- warning: main actor-isolated property 'action' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
117 | }
118 |
AppKit.NSControl:5:14: note: mutation of this property is only permitted within the actor
3 | public init?(coder: NSCoder)
4 | weak open var target: AnyObject? { get set }
5 | open var action: Selector? { get set }
| `- note: mutation of this property is only permitted within the actor
6 | open var tag: Int { get set }
7 | open var ignoresMultiClick: Bool { get set }
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/KnobView.swift:120:31: warning: main actor-isolated property 'value' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
117 | }
118 |
119 | @objc func valueChanged(_ sender: Knob) {
| `- note: add '@MainActor' to make instance method 'valueChanged' part of global actor 'MainActor'
120 | knobView.value = sender.value
| `- warning: main actor-isolated property 'value' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
121 | knobView.manipulating = sender.manipulating
122 | }
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/Knob.swift:36:28: note: property declared here
34 |
35 | /// The current value of the control, expressed in a value between `minimumValue` and `maximumValue`
36 | @objc public dynamic var value: Float {
| `- note: property declared here
37 | get { _normalizedValue * (maximumValue - minimumValue) + minimumValue }
38 | set { setValue(newValue) }
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/KnobView.swift:121:38: warning: main actor-isolated property 'manipulating' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
117 | }
118 |
119 | @objc func valueChanged(_ sender: Knob) {
| `- note: add '@MainActor' to make instance method 'valueChanged' part of global actor 'MainActor'
120 | knobView.value = sender.value
121 | knobView.manipulating = sender.manipulating
| `- warning: main actor-isolated property 'manipulating' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
122 | }
123 | }
/Users/admin/builder/spi-builder-workspace/Sources/Knob-macOS/Knob.swift:128:27: note: property declared here
126 | /// Obtain the manipulating state of the knob. This is `true` during a touch event or a mouse-down event, and it goes
127 | /// back to `false` once the event ends.
128 | public private(set) var manipulating = false
| `- note: property declared here
129 |
130 | /**
Build complete! (34.92s)
Fetching https://github.com/pointfreeco/swift-snapshot-testing.git
Fetching https://github.com/apple/swift-syntax.git
[1/11249] Fetching swift-snapshot-testing
[564/72202] Fetching swift-snapshot-testing, swift-syntax
Fetched https://github.com/apple/swift-syntax.git from cache (3.07s)
Fetched https://github.com/pointfreeco/swift-snapshot-testing.git from cache (3.07s)
Computing version for https://github.com/pointfreeco/swift-snapshot-testing.git
Computed https://github.com/pointfreeco/swift-snapshot-testing.git at 1.15.1 (0.69s)
Computing version for https://github.com/apple/swift-syntax.git
Computed https://github.com/apple/swift-syntax.git at 509.0.2 (0.78s)
Creating working copy for https://github.com/apple/swift-syntax.git
Working copy of https://github.com/apple/swift-syntax.git resolved at 509.0.2
Creating working copy for https://github.com/pointfreeco/swift-snapshot-testing.git
Working copy of https://github.com/pointfreeco/swift-snapshot-testing.git resolved at 1.15.1
Build complete.
{
"dependencies" : [
{
"identity" : "swift-snapshot-testing",
"requirement" : {
"range" : [
{
"lower_bound" : "1.11.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/pointfreeco/swift-snapshot-testing.git"
}
],
"manifest_display_name" : "Knob",
"name" : "Knob",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "11.0"
},
{
"name" : "ios",
"version" : "13.0"
}
],
"products" : [
{
"name" : "Knob-iOS",
"targets" : [
"Knob-iOS"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "Knob-macOS",
"targets" : [
"Knob-macOS"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "Knob_macOSTests",
"module_type" : "SwiftTarget",
"name" : "Knob-macOSTests",
"path" : "Tests/Knob-macOSTests",
"product_dependencies" : [
"SnapshotTesting"
],
"sources" : [
"KnobTests.swift",
"XCTestManifests.swift"
],
"target_dependencies" : [
"Knob-macOS"
],
"type" : "test"
},
{
"c99name" : "Knob_macOS",
"module_type" : "SwiftTarget",
"name" : "Knob-macOS",
"path" : "Sources/Knob-macOS",
"product_memberships" : [
"Knob-macOS"
],
"sources" : [
"Extensions/Color.swift",
"Extensions/NSBezierPath.swift",
"Knob.swift",
"KnobView.swift"
],
"type" : "library"
},
{
"c99name" : "Knob_iOSTests",
"module_type" : "SwiftTarget",
"name" : "Knob-iOSTests",
"path" : "Tests/Knob-iOSTests",
"product_dependencies" : [
"SnapshotTesting"
],
"sources" : [
"KnobTests.swift",
"XCTestManifests.swift"
],
"target_dependencies" : [
"Knob-iOS"
],
"type" : "test"
},
{
"c99name" : "Knob_iOS",
"module_type" : "SwiftTarget",
"name" : "Knob-iOS",
"path" : "Sources/Knob-iOS",
"product_memberships" : [
"Knob-iOS"
],
"sources" : [
"Extensions/Color.swift",
"Knob.swift",
"KnobView.swift"
],
"type" : "library"
}
],
"tools_version" : "5.6"
}
Done.