The Swift Package Index logo.Swift Package Index

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

Build Information

Successful build of SwiftKeys, reference 0.2.0 (42fb37), with Swift 6.0 for macOS (SPM) on 29 Nov 2024 20:14:45 UTC.

Swift 6 data race errors: 9

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -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

Build Log

========================================
RunAll
========================================
Builder version: 4.58.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/jordanbaird/SwiftKeys.git
Reference: 0.2.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/jordanbaird/SwiftKeys
 * tag               0.2.0      -> FETCH_HEAD
HEAD is now at 42fb370 Release 0.2.0
Cloned https://github.com/jordanbaird/SwiftKeys.git
Revision (git rev-parse @):
42fb3709f772e80909b55007015744bf2fe81ee8
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/jordanbaird/SwiftKeys.git at 0.2.0
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "swiftkeys",
      "name": "SwiftKeys",
      "url": "https://github.com/jordanbaird/SwiftKeys.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/SwiftKeys",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/jordanbaird/SwiftKeys.git
[1/4522] Fetching swiftkeys
Fetched https://github.com/jordanbaird/SwiftKeys.git from cache (1.14s)
Creating working copy for https://github.com/jordanbaird/SwiftKeys.git
Working copy of https://github.com/jordanbaird/SwiftKeys.git resolved at 0.2.0 (42fb370)
warning: '.resolve-product-dependencies': dependency 'swiftkeys' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/jordanbaird/SwiftKeys.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "SwiftKeys",
  "name" : "SwiftKeys",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.13"
    }
  ],
  "products" : [
    {
      "name" : "SwiftKeys",
      "targets" : [
        "SwiftKeys"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftKeysTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftKeysTests",
      "path" : "Tests/SwiftKeysTests",
      "sources" : [
        "EventTypeTests.swift",
        "KeyCommandProxyTests.swift",
        "KeyCommandTests.swift",
        "KeyRecorderTests.swift",
        "Utilities.swift"
      ],
      "target_dependencies" : [
        "SwiftKeys"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftKeys",
      "module_type" : "SwiftTarget",
      "name" : "SwiftKeys",
      "path" : "Sources/SwiftKeys",
      "product_memberships" : [
        "SwiftKeys"
      ],
      "sources" : [
        "KeyCommand/Key.swift",
        "KeyCommand/KeyCommand.swift",
        "KeyCommand/KeyCommandProxy.swift",
        "KeyCommand/Modifier.swift",
        "KeyCommand/Name.swift",
        "KeyCommand/Observation.swift",
        "KeyRecorder/BezelStyle.swift",
        "KeyRecorder/KeyRecorder.swift",
        "KeyRecorder/KeyRecorderView.swift",
        "Utilities/NSMenuItem+extensions.swift",
        "Utilities/Utilities.swift",
        "Utilities/ViewModifiers.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.7"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -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
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--7754E27361AE5C74.txt
[3/14] Compiling SwiftKeys Utilities.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/Utilities/Utilities.swift:33:42: warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 30 |     }
 31 |
 32 |     static func roundedRectBorder(for control: NSSegmentedControl) -> CALayer {
    |                 `- note: add '@MainActor' to make static method 'roundedRectBorder(for:)' part of global actor 'MainActor'
 33 |         roundedRectBorder(frame: control.bounds, color: .controlColor, lineWidth: 1, cornerRadius: 6)
    |                                          `- warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 34 |     }
 35 |
AppKit.NSView:76:25: note: property declared here
 74 |     @available(swift, obsoleted: 3, renamed: "rotate(byDegrees:)")
 75 |     open func rotateByAngle(_ angle: CGFloat)
 76 |     @MainActor open var bounds: NSRect { get set }
    |                         `- note: property declared here
 77 |     open var isFlipped: Bool { get }
 78 |     @available(swift, obsoleted: 3, renamed: "isFlipped")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/Utilities/Utilities.swift:38:31: warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 34 |     }
 35 |
 36 |     static func segmentSplitter(for control: NSSegmentedControl, afterSegment segment: Int) -> CALayer {
    |                 `- note: add '@MainActor' to make static method 'segmentSplitter(for:afterSegment:)' part of global actor 'MainActor'
 37 |         let layer = CAShapeLayer()
 38 |         layer.frame = control.bounds
    |                               `- warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 39 |         layer.lineWidth = 1
 40 |         if #available(macOS 10.14, *) {
AppKit.NSView:76:25: note: property declared here
 74 |     @available(swift, obsoleted: 3, renamed: "rotate(byDegrees:)")
 75 |     open func rotateByAngle(_ angle: CGFloat)
 76 |     @MainActor open var bounds: NSRect { get set }
    |                         `- note: property declared here
 77 |     open var isFlipped: Bool { get }
 78 |     @available(swift, obsoleted: 3, renamed: "isFlipped")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/Utilities/Utilities.swift:48:48: warning: main actor-isolated property 'segmentCount' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 34 |     }
 35 |
 36 |     static func segmentSplitter(for control: NSSegmentedControl, afterSegment segment: Int) -> CALayer {
    |                 `- note: add '@MainActor' to make static method 'segmentSplitter(for:afterSegment:)' part of global actor 'MainActor'
 37 |         let layer = CAShapeLayer()
 38 |         layer.frame = control.bounds
    :
 46 |         let path = CGMutablePath()
 47 |
 48 |         let segment = max(min(segment, control.segmentCount), 0)
    |                                                `- warning: main actor-isolated property 'segmentCount' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 49 |         let xPosition: CGFloat = (0...segment).reduce(into: 0) {
 50 |             $0 += control.width(forSegment: $1)
AppKit.NSSegmentedControl:2:25: note: property declared here
 1 | @MainActor open class NSSegmentedControl : NSControl, NSUserInterfaceCompression {
 2 |     @MainActor open var segmentCount: Int { get set }
   |                         `- note: property declared here
 3 |     open var selectedSegment: Int { get set }
 4 |     open func selectSegment(withTag tag: Int) -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/Utilities/Utilities.swift:50:27: warning: call to main actor-isolated instance method 'width(forSegment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 48 |         let segment = max(min(segment, control.segmentCount), 0)
 49 |         let xPosition: CGFloat = (0...segment).reduce(into: 0) {
 50 |             $0 += control.width(forSegment: $1)
    |                           `- warning: call to main actor-isolated instance method 'width(forSegment:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 51 |         }
 52 |
AppKit.NSSegmentedControl:8:26: note: calls to instance method 'width(forSegment:)' from outside of its actor context are implicitly asynchronous
 6 |     open func selectSegmentWithTag(_ tag: Int) -> Bool
 7 |     open func setWidth(_ width: CGFloat, forSegment segment: Int)
 8 |     @MainActor open func width(forSegment segment: Int) -> CGFloat
   |                          `- note: calls to instance method 'width(forSegment:)' from outside of its actor context are implicitly asynchronous
 9 |     @available(swift, obsoleted: 3, renamed: "width(forSegment:)")
10 |     open func widthForSegment(_ segment: Int) -> CGFloat
[4/15] Compiling SwiftKeys KeyRecorder.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyCommand/Modifier.swift:102:16: warning: static property 'canonicalOrder' is not concurrency-safe because non-'Sendable' type 'Array<KeyCommand.Modifier>' may have shared mutable state; this is an error in the Swift 6 language mode
 11 | extension KeyCommand {
 12 |     /// Constants that represent the modifier keys of a key command.
 13 |     public enum Modifier {
    |                 `- note: consider making enum 'Modifier' conform to the 'Sendable' protocol
 14 |         /// The Control key.
 15 |         case control
    :
100 |     /// The order that macOS represents its modifier keys, according
101 |     /// to the Apple Style Guide.
102 |     static let canonicalOrder: Self = {
    |                |- warning: static property 'canonicalOrder' is not concurrency-safe because non-'Sendable' type 'Array<KeyCommand.Modifier>' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: annotate 'canonicalOrder' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
103 |         let canonicalOrder: Self = [
104 |             .control,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyRecorder/KeyRecorder.swift:412:22: warning: main actor-isolated property 'recordingState' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
206 |     }
207 |
208 |     var recordingState = RecordingState.idle {
    |         `- note: mutation of this property is only permitted within the actor
209 |         didSet {
210 |             updateVisualAppearance()
    :
410 |             }
411 |             if !newValue {
412 |                 self.recordingState = .idle
    |                      `- warning: main actor-isolated property 'recordingState' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
413 |                 self.updateBasedOnNewRecordingState()
414 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyRecorder/KeyRecorder.swift:413:22: warning: call to main actor-isolated instance method 'updateBasedOnNewRecordingState()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
411 |             if !newValue {
412 |                 self.recordingState = .idle
413 |                 self.updateBasedOnNewRecordingState()
    |                      `- warning: call to main actor-isolated instance method 'updateBasedOnNewRecordingState()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
414 |             }
415 |         }
    :
499 |     }
500 |
501 |     func updateBasedOnNewRecordingState() {
    |          `- note: calls to instance method 'updateBasedOnNewRecordingState()' from outside of its actor context are implicitly asynchronous
502 |         // Note: updateVisualAppearance() will get called as an observation
503 |         // handler as soon as the proxy's registration state changes.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyRecorder/KeyRecorder.swift:426:22: warning: main actor-isolated property 'recordingState' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
206 |     }
207 |
208 |     var recordingState = RecordingState.idle {
    |         `- note: mutation of this property is only permitted within the actor
209 |         didSet {
210 |             updateVisualAppearance()
    :
424 |             }
425 |             if newValue != .current {
426 |                 self.recordingState = .idle
    |                      `- warning: main actor-isolated property 'recordingState' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
427 |                 self.updateBasedOnNewRecordingState()
428 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyRecorder/KeyRecorder.swift:427:22: warning: call to main actor-isolated instance method 'updateBasedOnNewRecordingState()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
425 |             if newValue != .current {
426 |                 self.recordingState = .idle
427 |                 self.updateBasedOnNewRecordingState()
    |                      `- warning: call to main actor-isolated instance method 'updateBasedOnNewRecordingState()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
428 |             }
429 |         }
    :
499 |     }
500 |
501 |     func updateBasedOnNewRecordingState() {
    |          `- note: calls to instance method 'updateBasedOnNewRecordingState()' from outside of its actor context are implicitly asynchronous
502 |         // Note: updateVisualAppearance() will get called as an observation
503 |         // handler as soon as the proxy's registration state changes.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyRecorder/KeyRecorder.swift:579:25: warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
573 |         }
574 |
575 |         func displayAlert() {
    |              `- note: add '@MainActor' to make instance method 'displayAlert()' part of global actor 'MainActor'
576 |             guard self != .noFailure else {
577 |                 return
578 |             }
579 |             let alert = NSAlert()
    |                         `- warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
580 |             alert.messageText = messageText
581 |             alert.informativeText = infoText
AppKit.NSAlert:33:23: note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
31 |     open func beginSheetModalForWindow(_ sheetWindow: NSWindow, completionHandler handler: ((NSApplication.ModalResponse) -> Void)? = nil)
32 |     open var window: NSWindow { get }
33 |     @MainActor public init()
   |                       `- note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
34 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyRecorder/KeyRecorder.swift:580:19: warning: main actor-isolated property 'messageText' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
573 |         }
574 |
575 |         func displayAlert() {
    |              `- note: add '@MainActor' to make instance method 'displayAlert()' part of global actor 'MainActor'
576 |             guard self != .noFailure else {
577 |                 return
578 |             }
579 |             let alert = NSAlert()
580 |             alert.messageText = messageText
    |                   `- warning: main actor-isolated property 'messageText' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
581 |             alert.informativeText = infoText
582 |             alert.runModal()
AppKit.NSAlert:5:14: note: mutation of this property is only permitted within the actor
 3 |     @available(*, unavailable, renamed: "init(error:)", message: "Not available in Swift")
 4 |     open class func alertWithError(_ error: any Error) -> NSAlert
 5 |     open var messageText: String { get set }
   |              `- note: mutation of this property is only permitted within the actor
 6 |     open var informativeText: String { get set }
 7 |     open var icon: NSImage! { get set }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyRecorder/KeyRecorder.swift:581:19: warning: main actor-isolated property 'informativeText' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
573 |         }
574 |
575 |         func displayAlert() {
    |              `- note: add '@MainActor' to make instance method 'displayAlert()' part of global actor 'MainActor'
576 |             guard self != .noFailure else {
577 |                 return
    :
579 |             let alert = NSAlert()
580 |             alert.messageText = messageText
581 |             alert.informativeText = infoText
    |                   `- warning: main actor-isolated property 'informativeText' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
582 |             alert.runModal()
583 |         }
AppKit.NSAlert:6:14: note: mutation of this property is only permitted within the actor
 4 |     open class func alertWithError(_ error: any Error) -> NSAlert
 5 |     open var messageText: String { get set }
 6 |     open var informativeText: String { get set }
   |              `- note: mutation of this property is only permitted within the actor
 7 |     open var icon: NSImage! { get set }
 8 |     open func addButton(withTitle title: String) -> NSButton
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyRecorder/KeyRecorder.swift:582:19: warning: call to main actor-isolated instance method 'runModal()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
573 |         }
574 |
575 |         func displayAlert() {
    |              `- note: add '@MainActor' to make instance method 'displayAlert()' part of global actor 'MainActor'
576 |             guard self != .noFailure else {
577 |                 return
    :
580 |             alert.messageText = messageText
581 |             alert.informativeText = infoText
582 |             alert.runModal()
    |                   `- warning: call to main actor-isolated instance method 'runModal()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
583 |         }
584 |
AppKit.NSAlert:20:26: note: calls to instance method 'runModal()' from outside of its actor context are implicitly asynchronous
18 |     @available(macOS 10.5, *)
19 |     open func layout()
20 |     @MainActor open func runModal() -> NSApplication.ModalResponse
   |                          `- note: calls to instance method 'runModal()' from outside of its actor context are implicitly asynchronous
21 |     @available(macOS 10.5, *)
22 |     open var showsSuppressionButton: Bool { get set }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyRecorder/KeyRecorder.swift:526:23: warning: cannot access property 'keyDownMonitor' with a non-sendable type 'LocalEventMonitor?' from nonisolated deinit; this is an error in the Swift 6 language mode
524 |
525 |     deinit {
526 |         keyDownMonitor?.stop()
    |                       `- warning: cannot access property 'keyDownMonitor' with a non-sendable type 'LocalEventMonitor?' from nonisolated deinit; this is an error in the Swift 6 language mode
527 |         mouseDownMonitor?.stop()
528 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/Utilities/Utilities.swift:74:7: note: class 'LocalEventMonitor' does not conform to the 'Sendable' protocol
 72 | // MARK: - LocalEventMonitor
 73 |
 74 | class LocalEventMonitor {
    |       `- note: class 'LocalEventMonitor' does not conform to the 'Sendable' protocol
 75 |     private let mask: NSEvent.EventTypeMask
 76 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyRecorder/KeyRecorder.swift:527:25: warning: cannot access property 'mouseDownMonitor' with a non-sendable type 'LocalEventMonitor?' from nonisolated deinit; this is an error in the Swift 6 language mode
525 |     deinit {
526 |         keyDownMonitor?.stop()
527 |         mouseDownMonitor?.stop()
    |                         `- warning: cannot access property 'mouseDownMonitor' with a non-sendable type 'LocalEventMonitor?' from nonisolated deinit; this is an error in the Swift 6 language mode
528 |     }
529 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/Utilities/Utilities.swift:74:7: note: class 'LocalEventMonitor' does not conform to the 'Sendable' protocol
 72 | // MARK: - LocalEventMonitor
 73 |
 74 | class LocalEventMonitor {
    |       `- note: class 'LocalEventMonitor' does not conform to the 'Sendable' protocol
 75 |     private let mask: NSEvent.EventTypeMask
 76 |
[5/15] Compiling SwiftKeys BezelStyle.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyRecorder/BezelStyle.swift:35:27: warning: static property 'flatBordered' is not concurrency-safe because non-'Sendable' type 'KeyRecorder.BezelStyle' may have shared mutable state; this is an error in the Swift 6 language mode
11 |     /// A type that represents the visual style used to display a ``KeyRecorder``'s
12 |     /// bezel.
13 |     public enum BezelStyle: CaseIterable, Hashable {
   |                 `- note: consider making enum 'BezelStyle' conform to the 'Sendable' protocol
14 |         /// The key recorder is displayed with a rounded rectangular bezel.
15 |         case rounded
   :
33 |         /// border.
34 |         @available(*, deprecated, renamed: "capsule")
35 |         public static let flatBordered: Self = .capsule
   |                           |- warning: static property 'flatBordered' is not concurrency-safe because non-'Sendable' type 'KeyRecorder.BezelStyle' may have shared mutable state; this is an error in the Swift 6 language mode
   |                           |- note: annotate 'flatBordered' with '@MainActor' if property should only be accessed from the main actor
   |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 |     }
37 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyRecorder/BezelStyle.swift:68:17: warning: main actor-isolated property 'segmentStyle' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
65 | // MARK: BezelStyle Methods
66 | extension KeyRecorder.BezelStyle {
67 |     func apply(to control: KeyRecorderSegmentedControl) {
   |          `- note: add '@MainActor' to make instance method 'apply(to:)' part of global actor 'MainActor'
68 |         control.segmentStyle = cocoaValue
   |                 `- warning: main actor-isolated property 'segmentStyle' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
69 |         switch self {
70 |         case .flat:
AppKit.NSSegmentedControl:60:25: note: mutation of this property is only permitted within the actor
58 |     open func showsMenuIndicatorForSegment(_ segment: Int) -> Bool
59 |     @available(macOS 10.5, *)
60 |     @MainActor open var segmentStyle: NSSegmentedControl.Style { get set }
   |                         `- note: mutation of this property is only permitted within the actor
61 |     @available(macOS 10.10.3, *)
62 |     open var isSpringLoaded: Bool { get set }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyRecorder/BezelStyle.swift:71:27: warning: main actor-isolated property 'isBezeled' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
65 | // MARK: BezelStyle Methods
66 | extension KeyRecorder.BezelStyle {
67 |     func apply(to control: KeyRecorderSegmentedControl) {
   |          `- note: add '@MainActor' to make instance method 'apply(to:)' part of global actor 'MainActor'
68 |         control.segmentStyle = cocoaValue
69 |         switch self {
70 |         case .flat:
71 |             control.cell?.isBezeled = false
   |                           `- warning: main actor-isolated property 'isBezeled' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
72 |             control.borderLayer = .roundedRectBorder(for: control)
73 |             control.splitterLayer = .segmentSplitter(for: control, afterSegment: 0)
AppKit.NSCell:35:25: note: mutation of this property is only permitted within the actor
 33 |     @available(swift, obsoleted: 3, renamed: "isBordered")
 34 |     open var bordered: Bool { get set }
 35 |     @MainActor open var isBezeled: Bool { get set }
    |                         `- note: mutation of this property is only permitted within the actor
 36 |     @available(swift, obsoleted: 3, renamed: "isBezeled")
 37 |     open var bezeled: Bool { get set }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyRecorder/BezelStyle.swift:71:21: warning: main actor-isolated property 'cell' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
65 | // MARK: BezelStyle Methods
66 | extension KeyRecorder.BezelStyle {
67 |     func apply(to control: KeyRecorderSegmentedControl) {
   |          `- note: add '@MainActor' to make instance method 'apply(to:)' part of global actor 'MainActor'
68 |         control.segmentStyle = cocoaValue
69 |         switch self {
70 |         case .flat:
71 |             control.cell?.isBezeled = false
   |                     `- warning: main actor-isolated property 'cell' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
72 |             control.borderLayer = .roundedRectBorder(for: control)
73 |             control.splitterLayer = .segmentSplitter(for: control, afterSegment: 0)
AppKit.NSControl:5:25: note: property declared here
 3 |     open func setFloatingPointFormat(_ autoRange: Bool, left leftDigits: Int, right rightDigits: Int)
 4 |     open class var cellClass: AnyClass? { get set }
 5 |     @MainActor open var cell: NSCell? { get set }
   |                         `- note: property declared here
 6 |     open func selectedCell() -> NSCell?
 7 |     open func selectedTag() -> Int
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyRecorder/BezelStyle.swift:72:21: warning: main actor-isolated property 'borderLayer' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
65 | // MARK: BezelStyle Methods
66 | extension KeyRecorder.BezelStyle {
67 |     func apply(to control: KeyRecorderSegmentedControl) {
   |          `- note: add '@MainActor' to make instance method 'apply(to:)' part of global actor 'MainActor'
68 |         control.segmentStyle = cocoaValue
69 |         switch self {
70 |         case .flat:
71 |             control.cell?.isBezeled = false
72 |             control.borderLayer = .roundedRectBorder(for: control)
   |                     `- warning: main actor-isolated property 'borderLayer' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
73 |             control.splitterLayer = .segmentSplitter(for: control, afterSegment: 0)
74 |         default:
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyRecorder/KeyRecorder.swift:226:9: note: mutation of this property is only permitted within the actor
224 |     }
225 |
226 |     var borderLayer: CALayer? {
    |         `- note: mutation of this property is only permitted within the actor
227 |         didSet {
228 |             if let borderLayer {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyRecorder/BezelStyle.swift:73:21: warning: main actor-isolated property 'splitterLayer' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
65 | // MARK: BezelStyle Methods
66 | extension KeyRecorder.BezelStyle {
67 |     func apply(to control: KeyRecorderSegmentedControl) {
   |          `- note: add '@MainActor' to make instance method 'apply(to:)' part of global actor 'MainActor'
68 |         control.segmentStyle = cocoaValue
69 |         switch self {
   :
71 |             control.cell?.isBezeled = false
72 |             control.borderLayer = .roundedRectBorder(for: control)
73 |             control.splitterLayer = .segmentSplitter(for: control, afterSegment: 0)
   |                     `- warning: main actor-isolated property 'splitterLayer' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
74 |         default:
75 |             control.cell?.isBezeled = true
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyRecorder/KeyRecorder.swift:237:9: note: mutation of this property is only permitted within the actor
235 |     }
236 |
237 |     var splitterLayer: CALayer? {
    |         `- note: mutation of this property is only permitted within the actor
238 |         didSet {
239 |             if let splitterLayer {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyRecorder/BezelStyle.swift:75:27: warning: main actor-isolated property 'isBezeled' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
65 | // MARK: BezelStyle Methods
66 | extension KeyRecorder.BezelStyle {
67 |     func apply(to control: KeyRecorderSegmentedControl) {
   |          `- note: add '@MainActor' to make instance method 'apply(to:)' part of global actor 'MainActor'
68 |         control.segmentStyle = cocoaValue
69 |         switch self {
   :
73 |             control.splitterLayer = .segmentSplitter(for: control, afterSegment: 0)
74 |         default:
75 |             control.cell?.isBezeled = true
   |                           `- warning: main actor-isolated property 'isBezeled' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
76 |             control.borderLayer = nil
77 |             control.splitterLayer = nil
AppKit.NSCell:35:25: note: mutation of this property is only permitted within the actor
 33 |     @available(swift, obsoleted: 3, renamed: "isBordered")
 34 |     open var bordered: Bool { get set }
 35 |     @MainActor open var isBezeled: Bool { get set }
    |                         `- note: mutation of this property is only permitted within the actor
 36 |     @available(swift, obsoleted: 3, renamed: "isBezeled")
 37 |     open var bezeled: Bool { get set }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyRecorder/BezelStyle.swift:75:21: warning: main actor-isolated property 'cell' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
65 | // MARK: BezelStyle Methods
66 | extension KeyRecorder.BezelStyle {
67 |     func apply(to control: KeyRecorderSegmentedControl) {
   |          `- note: add '@MainActor' to make instance method 'apply(to:)' part of global actor 'MainActor'
68 |         control.segmentStyle = cocoaValue
69 |         switch self {
   :
73 |             control.splitterLayer = .segmentSplitter(for: control, afterSegment: 0)
74 |         default:
75 |             control.cell?.isBezeled = true
   |                     `- warning: main actor-isolated property 'cell' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
76 |             control.borderLayer = nil
77 |             control.splitterLayer = nil
AppKit.NSControl:5:25: note: property declared here
 3 |     open func setFloatingPointFormat(_ autoRange: Bool, left leftDigits: Int, right rightDigits: Int)
 4 |     open class var cellClass: AnyClass? { get set }
 5 |     @MainActor open var cell: NSCell? { get set }
   |                         `- note: property declared here
 6 |     open func selectedCell() -> NSCell?
 7 |     open func selectedTag() -> Int
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyRecorder/BezelStyle.swift:76:21: warning: main actor-isolated property 'borderLayer' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
65 | // MARK: BezelStyle Methods
66 | extension KeyRecorder.BezelStyle {
67 |     func apply(to control: KeyRecorderSegmentedControl) {
   |          `- note: add '@MainActor' to make instance method 'apply(to:)' part of global actor 'MainActor'
68 |         control.segmentStyle = cocoaValue
69 |         switch self {
   :
74 |         default:
75 |             control.cell?.isBezeled = true
76 |             control.borderLayer = nil
   |                     `- warning: main actor-isolated property 'borderLayer' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
77 |             control.splitterLayer = nil
78 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyRecorder/KeyRecorder.swift:226:9: note: mutation of this property is only permitted within the actor
224 |     }
225 |
226 |     var borderLayer: CALayer? {
    |         `- note: mutation of this property is only permitted within the actor
227 |         didSet {
228 |             if let borderLayer {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyRecorder/BezelStyle.swift:77:21: warning: main actor-isolated property 'splitterLayer' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
65 | // MARK: BezelStyle Methods
66 | extension KeyRecorder.BezelStyle {
67 |     func apply(to control: KeyRecorderSegmentedControl) {
   |          `- note: add '@MainActor' to make instance method 'apply(to:)' part of global actor 'MainActor'
68 |         control.segmentStyle = cocoaValue
69 |         switch self {
   :
75 |             control.cell?.isBezeled = true
76 |             control.borderLayer = nil
77 |             control.splitterLayer = nil
   |                     `- warning: main actor-isolated property 'splitterLayer' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
78 |         }
79 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyRecorder/KeyRecorder.swift:237:9: note: mutation of this property is only permitted within the actor
235 |     }
236 |
237 |     var splitterLayer: CALayer? {
    |         `- note: mutation of this property is only permitted within the actor
238 |         didSet {
239 |             if let splitterLayer {
[6/15] Compiling SwiftKeys NSMenuItem+extensions.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/Utilities/NSMenuItem+extensions.swift:11:24: warning: static property 'keyCommandNameStorage' is not concurrency-safe because non-'Sendable' type 'Storage<KeyCommand.Name>' may have shared mutable state; this is an error in the Swift 6 language mode
  9 |
 10 | extension NSMenuItem {
 11 |     private static let keyCommandNameStorage = Storage<KeyCommand.Name>()
    |                        |- warning: static property 'keyCommandNameStorage' is not concurrency-safe because non-'Sendable' type 'Storage<KeyCommand.Name>' may have shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: annotate 'keyCommandNameStorage' with '@MainActor' if property should only be accessed from the main actor
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 12 |     private static let keyAndModifierChangeHandlerStorage = Storage<VoidHandler>()
 13 |     private static let observationStorage = Storage<Set<NSKeyValueObservation>>()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/Utilities/Utilities.swift:349:7: note: generic class 'Storage' does not conform to the 'Sendable' protocol
347 |
348 | /// A type that uses object association to store external values.
349 | class Storage<Value> {
    |       `- note: generic class 'Storage' does not conform to the 'Sendable' protocol
350 |     private let policy: AssociationPolicy
351 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/Utilities/NSMenuItem+extensions.swift:12:24: warning: static property 'keyAndModifierChangeHandlerStorage' is not concurrency-safe because non-'Sendable' type 'Storage<VoidHandler>' (aka 'Storage<Handler<()>>') may have shared mutable state; this is an error in the Swift 6 language mode
 10 | extension NSMenuItem {
 11 |     private static let keyCommandNameStorage = Storage<KeyCommand.Name>()
 12 |     private static let keyAndModifierChangeHandlerStorage = Storage<VoidHandler>()
    |                        |- warning: static property 'keyAndModifierChangeHandlerStorage' is not concurrency-safe because non-'Sendable' type 'Storage<VoidHandler>' (aka 'Storage<Handler<()>>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: annotate 'keyAndModifierChangeHandlerStorage' with '@MainActor' if property should only be accessed from the main actor
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 13 |     private static let observationStorage = Storage<Set<NSKeyValueObservation>>()
 14 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/Utilities/Utilities.swift:349:7: note: generic class 'Storage' does not conform to the 'Sendable' protocol
347 |
348 | /// A type that uses object association to store external values.
349 | class Storage<Value> {
    |       `- note: generic class 'Storage' does not conform to the 'Sendable' protocol
350 |     private let policy: AssociationPolicy
351 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/Utilities/NSMenuItem+extensions.swift:13:24: warning: static property 'observationStorage' is not concurrency-safe because non-'Sendable' type 'Storage<Set<NSKeyValueObservation>>' may have shared mutable state; this is an error in the Swift 6 language mode
 11 |     private static let keyCommandNameStorage = Storage<KeyCommand.Name>()
 12 |     private static let keyAndModifierChangeHandlerStorage = Storage<VoidHandler>()
 13 |     private static let observationStorage = Storage<Set<NSKeyValueObservation>>()
    |                        |- warning: static property 'observationStorage' is not concurrency-safe because non-'Sendable' type 'Storage<Set<NSKeyValueObservation>>' may have shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: annotate 'observationStorage' with '@MainActor' if property should only be accessed from the main actor
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 14 |
 15 |     private var keyAndModifierChangeHandler: VoidHandler? {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/Utilities/Utilities.swift:349:7: note: generic class 'Storage' does not conform to the 'Sendable' protocol
347 |
348 | /// A type that uses object association to store external values.
349 | class Storage<Value> {
    |       `- note: generic class 'Storage' does not conform to the 'Sendable' protocol
350 |     private let policy: AssociationPolicy
351 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/Utilities/NSMenuItem+extensions.swift:62:29: warning: capture of 'self' with non-sendable type 'NSMenuItem?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 60 |                 observe(\.keyEquivalent, options: [.old, .new]) { [weak self] _, changes in
 61 |                     guard
 62 |                         let self,
    |                             `- warning: capture of 'self' with non-sendable type 'NSMenuItem?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 63 |                         let oldValue = changes.oldValue,
 64 |                         let newValue = changes.newValue,
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
  |                     `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 |     case none
3 |     case some(Wrapped)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/Utilities/NSMenuItem+extensions.swift:76:29: warning: capture of 'self' with non-sendable type 'NSMenuItem?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 74 |                 observe(\.keyEquivalentModifierMask, options: [.old, .new]) { [weak self] _, changes in
 75 |                     guard
 76 |                         let self,
    |                             `- warning: capture of 'self' with non-sendable type 'NSMenuItem?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 77 |                         let oldValue = changes.oldValue,
 78 |                         let newValue = changes.newValue,
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
  |                     `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 |     case none
3 |     case some(Wrapped)
[7/15] Compiling SwiftKeys Observation.swift
[8/15] Compiling SwiftKeys Name.swift
[9/15] Emitting module SwiftKeys
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyCommand/KeyCommandProxy.swift:12:24: warning: static property 'eventHandlerRef' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 10 |     // MARK: Static Properties
 11 |
 12 |     private static var eventHandlerRef: EventHandlerRef?
    |                        |- warning: static property 'eventHandlerRef' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'eventHandlerRef' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: annotate 'eventHandlerRef' with '@MainActor' if property should only be accessed from the main actor
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 13 |
 14 |     private static let eventTypes = [
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyCommand/KeyCommandProxy.swift:25:24: warning: static property 'proxyCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 23 |     ]
 24 |
 25 |     private static var proxyCount: UInt32 = 0
    |                        |- warning: static property 'proxyCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'proxyCount' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: annotate 'proxyCount' with '@MainActor' if property should only be accessed from the main actor
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 26 |
 27 |     private static let signature: OSType = NSHFSTypeCodeFromFileType("'SWKE'")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyCommand/KeyCommandProxy.swift:346:24: warning: static property 'all' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
344 |
345 | extension ProxyStorage {
346 |     private static var all = Self()
    |                        |- warning: static property 'all' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'all' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: annotate 'all' with '@MainActor' if property should only be accessed from the main actor
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
347 |
348 |     static func proxy(with identifier: EventHotKeyID) -> KeyCommandProxy? {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyCommand/Modifier.swift:102:16: warning: static property 'canonicalOrder' is not concurrency-safe because non-'Sendable' type 'Array<KeyCommand.Modifier>' may have shared mutable state; this is an error in the Swift 6 language mode
 11 | extension KeyCommand {
 12 |     /// Constants that represent the modifier keys of a key command.
 13 |     public enum Modifier {
    |                 `- note: consider making enum 'Modifier' conform to the 'Sendable' protocol
 14 |         /// The Control key.
 15 |         case control
    :
100 |     /// The order that macOS represents its modifier keys, according
101 |     /// to the Apple Style Guide.
102 |     static let canonicalOrder: Self = {
    |                |- warning: static property 'canonicalOrder' is not concurrency-safe because non-'Sendable' type 'Array<KeyCommand.Modifier>' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: annotate 'canonicalOrder' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
103 |         let canonicalOrder: Self = [
104 |             .control,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyRecorder/BezelStyle.swift:35:27: warning: static property 'flatBordered' is not concurrency-safe because non-'Sendable' type 'KeyRecorder.BezelStyle' may have shared mutable state; this is an error in the Swift 6 language mode
11 |     /// A type that represents the visual style used to display a ``KeyRecorder``'s
12 |     /// bezel.
13 |     public enum BezelStyle: CaseIterable, Hashable {
   |                 `- note: consider making enum 'BezelStyle' conform to the 'Sendable' protocol
14 |         /// The key recorder is displayed with a rounded rectangular bezel.
15 |         case rounded
   :
33 |         /// border.
34 |         @available(*, deprecated, renamed: "capsule")
35 |         public static let flatBordered: Self = .capsule
   |                           |- warning: static property 'flatBordered' is not concurrency-safe because non-'Sendable' type 'KeyRecorder.BezelStyle' may have shared mutable state; this is an error in the Swift 6 language mode
   |                           |- note: annotate 'flatBordered' with '@MainActor' if property should only be accessed from the main actor
   |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 |     }
37 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/Utilities/NSMenuItem+extensions.swift:11:24: warning: static property 'keyCommandNameStorage' is not concurrency-safe because non-'Sendable' type 'Storage<KeyCommand.Name>' may have shared mutable state; this is an error in the Swift 6 language mode
  9 |
 10 | extension NSMenuItem {
 11 |     private static let keyCommandNameStorage = Storage<KeyCommand.Name>()
    |                        |- warning: static property 'keyCommandNameStorage' is not concurrency-safe because non-'Sendable' type 'Storage<KeyCommand.Name>' may have shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: annotate 'keyCommandNameStorage' with '@MainActor' if property should only be accessed from the main actor
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 12 |     private static let keyAndModifierChangeHandlerStorage = Storage<VoidHandler>()
 13 |     private static let observationStorage = Storage<Set<NSKeyValueObservation>>()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/Utilities/Utilities.swift:349:7: note: generic class 'Storage' does not conform to the 'Sendable' protocol
347 |
348 | /// A type that uses object association to store external values.
349 | class Storage<Value> {
    |       `- note: generic class 'Storage' does not conform to the 'Sendable' protocol
350 |     private let policy: AssociationPolicy
351 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/Utilities/NSMenuItem+extensions.swift:12:24: warning: static property 'keyAndModifierChangeHandlerStorage' is not concurrency-safe because non-'Sendable' type 'Storage<VoidHandler>' (aka 'Storage<Handler<()>>') may have shared mutable state; this is an error in the Swift 6 language mode
 10 | extension NSMenuItem {
 11 |     private static let keyCommandNameStorage = Storage<KeyCommand.Name>()
 12 |     private static let keyAndModifierChangeHandlerStorage = Storage<VoidHandler>()
    |                        |- warning: static property 'keyAndModifierChangeHandlerStorage' is not concurrency-safe because non-'Sendable' type 'Storage<VoidHandler>' (aka 'Storage<Handler<()>>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: annotate 'keyAndModifierChangeHandlerStorage' with '@MainActor' if property should only be accessed from the main actor
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 13 |     private static let observationStorage = Storage<Set<NSKeyValueObservation>>()
 14 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/Utilities/Utilities.swift:349:7: note: generic class 'Storage' does not conform to the 'Sendable' protocol
347 |
348 | /// A type that uses object association to store external values.
349 | class Storage<Value> {
    |       `- note: generic class 'Storage' does not conform to the 'Sendable' protocol
350 |     private let policy: AssociationPolicy
351 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/Utilities/NSMenuItem+extensions.swift:13:24: warning: static property 'observationStorage' is not concurrency-safe because non-'Sendable' type 'Storage<Set<NSKeyValueObservation>>' may have shared mutable state; this is an error in the Swift 6 language mode
 11 |     private static let keyCommandNameStorage = Storage<KeyCommand.Name>()
 12 |     private static let keyAndModifierChangeHandlerStorage = Storage<VoidHandler>()
 13 |     private static let observationStorage = Storage<Set<NSKeyValueObservation>>()
    |                        |- warning: static property 'observationStorage' is not concurrency-safe because non-'Sendable' type 'Storage<Set<NSKeyValueObservation>>' may have shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: annotate 'observationStorage' with '@MainActor' if property should only be accessed from the main actor
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 14 |
 15 |     private var keyAndModifierChangeHandler: VoidHandler? {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/Utilities/Utilities.swift:349:7: note: generic class 'Storage' does not conform to the 'Sendable' protocol
347 |
348 | /// A type that uses object association to store external values.
349 | class Storage<Value> {
    |       `- note: generic class 'Storage' does not conform to the 'Sendable' protocol
350 |     private let policy: AssociationPolicy
351 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/Utilities/ViewModifiers.swift:13:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 11 | @available(macOS 10.15, *)
 12 | struct KeyRecorderBezelStyleKey: EnvironmentKey {
 13 |     static var defaultValue = KeyRecorderView.BezelStyle.rounded
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'defaultValue' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 14 | }
 15 |
[10/15] Compiling SwiftKeys KeyCommandProxy.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyCommand/KeyCommandProxy.swift:12:24: warning: static property 'eventHandlerRef' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 10 |     // MARK: Static Properties
 11 |
 12 |     private static var eventHandlerRef: EventHandlerRef?
    |                        |- warning: static property 'eventHandlerRef' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'eventHandlerRef' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: annotate 'eventHandlerRef' with '@MainActor' if property should only be accessed from the main actor
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 13 |
 14 |     private static let eventTypes = [
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyCommand/KeyCommandProxy.swift:25:24: warning: static property 'proxyCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 23 |     ]
 24 |
 25 |     private static var proxyCount: UInt32 = 0
    |                        |- warning: static property 'proxyCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'proxyCount' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: annotate 'proxyCount' with '@MainActor' if property should only be accessed from the main actor
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 26 |
 27 |     private static let signature: OSType = NSHFSTypeCodeFromFileType("'SWKE'")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyCommand/KeyCommandProxy.swift:346:24: warning: static property 'all' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
344 |
345 | extension ProxyStorage {
346 |     private static var all = Self()
    |                        |- warning: static property 'all' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'all' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: annotate 'all' with '@MainActor' if property should only be accessed from the main actor
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
347 |
348 |     static func proxy(with identifier: EventHotKeyID) -> KeyCommandProxy? {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyCommand/Modifier.swift:102:16: warning: static property 'canonicalOrder' is not concurrency-safe because non-'Sendable' type 'Array<KeyCommand.Modifier>' may have shared mutable state; this is an error in the Swift 6 language mode
 11 | extension KeyCommand {
 12 |     /// Constants that represent the modifier keys of a key command.
 13 |     public enum Modifier {
    |                 `- note: consider making enum 'Modifier' conform to the 'Sendable' protocol
 14 |         /// The Control key.
 15 |         case control
    :
100 |     /// The order that macOS represents its modifier keys, according
101 |     /// to the Apple Style Guide.
102 |     static let canonicalOrder: Self = {
    |                |- warning: static property 'canonicalOrder' is not concurrency-safe because non-'Sendable' type 'Array<KeyCommand.Modifier>' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: annotate 'canonicalOrder' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
103 |         let canonicalOrder: Self = [
104 |             .control,
[11/15] Compiling SwiftKeys Modifier.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyCommand/KeyCommandProxy.swift:12:24: warning: static property 'eventHandlerRef' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 10 |     // MARK: Static Properties
 11 |
 12 |     private static var eventHandlerRef: EventHandlerRef?
    |                        |- warning: static property 'eventHandlerRef' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'eventHandlerRef' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: annotate 'eventHandlerRef' with '@MainActor' if property should only be accessed from the main actor
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 13 |
 14 |     private static let eventTypes = [
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyCommand/KeyCommandProxy.swift:25:24: warning: static property 'proxyCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 23 |     ]
 24 |
 25 |     private static var proxyCount: UInt32 = 0
    |                        |- warning: static property 'proxyCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'proxyCount' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: annotate 'proxyCount' with '@MainActor' if property should only be accessed from the main actor
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 26 |
 27 |     private static let signature: OSType = NSHFSTypeCodeFromFileType("'SWKE'")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyCommand/KeyCommandProxy.swift:346:24: warning: static property 'all' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
344 |
345 | extension ProxyStorage {
346 |     private static var all = Self()
    |                        |- warning: static property 'all' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'all' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: annotate 'all' with '@MainActor' if property should only be accessed from the main actor
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
347 |
348 |     static func proxy(with identifier: EventHotKeyID) -> KeyCommandProxy? {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/KeyCommand/Modifier.swift:102:16: warning: static property 'canonicalOrder' is not concurrency-safe because non-'Sendable' type 'Array<KeyCommand.Modifier>' may have shared mutable state; this is an error in the Swift 6 language mode
 11 | extension KeyCommand {
 12 |     /// Constants that represent the modifier keys of a key command.
 13 |     public enum Modifier {
    |                 `- note: consider making enum 'Modifier' conform to the 'Sendable' protocol
 14 |         /// The Control key.
 15 |         case control
    :
100 |     /// The order that macOS represents its modifier keys, according
101 |     /// to the Apple Style Guide.
102 |     static let canonicalOrder: Self = {
    |                |- warning: static property 'canonicalOrder' is not concurrency-safe because non-'Sendable' type 'Array<KeyCommand.Modifier>' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: annotate 'canonicalOrder' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
103 |         let canonicalOrder: Self = [
104 |             .control,
[12/15] Compiling SwiftKeys Key.swift
[13/15] Compiling SwiftKeys KeyCommand.swift
[14/15] Compiling SwiftKeys KeyRecorderView.swift
[15/15] Compiling SwiftKeys ViewModifiers.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/Utilities/ViewModifiers.swift:13:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 11 | @available(macOS 10.15, *)
 12 | struct KeyRecorderBezelStyleKey: EnvironmentKey {
 13 |     static var defaultValue = KeyRecorderView.BezelStyle.rounded
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'defaultValue' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 14 | }
 15 |
Build complete! (16.82s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "SwiftKeys",
  "name" : "SwiftKeys",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.13"
    }
  ],
  "products" : [
    {
      "name" : "SwiftKeys",
      "targets" : [
        "SwiftKeys"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftKeysTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftKeysTests",
      "path" : "Tests/SwiftKeysTests",
      "sources" : [
        "EventTypeTests.swift",
        "KeyCommandProxyTests.swift",
        "KeyCommandTests.swift",
        "KeyRecorderTests.swift",
        "Utilities.swift"
      ],
      "target_dependencies" : [
        "SwiftKeys"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftKeys",
      "module_type" : "SwiftTarget",
      "name" : "SwiftKeys",
      "path" : "Sources/SwiftKeys",
      "product_memberships" : [
        "SwiftKeys"
      ],
      "sources" : [
        "KeyCommand/Key.swift",
        "KeyCommand/KeyCommand.swift",
        "KeyCommand/KeyCommandProxy.swift",
        "KeyCommand/Modifier.swift",
        "KeyCommand/Name.swift",
        "KeyCommand/Observation.swift",
        "KeyRecorder/BezelStyle.swift",
        "KeyRecorder/KeyRecorder.swift",
        "KeyRecorder/KeyRecorderView.swift",
        "Utilities/NSMenuItem+extensions.swift",
        "Utilities/Utilities.swift",
        "Utilities/ViewModifiers.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.7"
}
✅  Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path:  $PWD/.docs/jordanbaird/swiftkeys/0.2.0
Repository:               jordanbaird/SwiftKeys
Swift version used:       6.0
Target:                   SwiftKeys
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/swift-docc-render-artifact/.git/
From https://github.com/swiftlang/swift-docc-render-artifact
 * branch            88815688627177b9716a01ca41da19397bd30e47 -> FETCH_HEAD
HEAD is now at 8881568 Update the artifact
Extracting symbol information for 'SwiftKeys'...
Finished extracting symbol information for 'SwiftKeys'. (5.72s)
Building documentation for 'SwiftKeys'...
Finished building documentation for 'SwiftKeys' (0.56s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/jordanbaird/swiftkeys/0.2.0
Fetching https://github.com/swiftlang/swift-docc-plugin
[1/2038] Fetching swift-docc-plugin
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (1.27s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.3 (0.53s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3187] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.25s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.56s)
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.4.3
Building for debugging...
[0/8] Write sources
[3/8] Write snippet-extract-tool-entitlement.plist
[4/8] Write swift-version--7754E27361AE5C74.txt
[6/53] Compiling SymbolKit DeclarationFragments.swift
[7/53] Compiling SymbolKit Fragment.swift
[8/53] Compiling SymbolKit FragmentKind.swift
[9/53] Compiling SymbolKit FunctionParameter.swift
[10/53] Compiling SymbolKit FunctionSignature.swift
[11/53] Compiling SymbolKit Identifier.swift
[12/53] Compiling SymbolKit KindIdentifier.swift
[13/53] Compiling SymbolKit Location.swift
[14/53] Compiling SymbolKit Mutability.swift
[15/57] Emitting module SymbolKit
[16/57] Compiling SymbolKit SemanticVersion.swift
[17/57] Compiling SymbolKit AccessControl.swift
[18/57] Compiling SymbolKit Availability.swift
[19/57] Compiling SymbolKit AvailabilityItem.swift
[20/57] Compiling SymbolKit Domain.swift
[21/57] Compiling SymbolKit Mixin+Equals.swift
[22/57] Compiling SymbolKit Mixin+Hash.swift
[23/57] Compiling SymbolKit Mixin.swift
[24/57] Compiling SymbolKit LineList.swift
[25/57] Compiling SymbolKit Position.swift
[26/57] Compiling SymbolKit SourceRange.swift
[27/57] Compiling SymbolKit Metadata.swift
[28/57] Compiling SymbolKit Module.swift
[29/57] Compiling SymbolKit OperatingSystem.swift
[30/57] Compiling SymbolKit Platform.swift
[31/57] Compiling SymbolKit Relationship.swift
[32/57] Compiling SymbolKit RelationshipKind.swift
[33/57] Compiling SymbolKit SourceOrigin.swift
[34/57] Compiling SymbolKit GenericConstraints.swift
[35/57] Compiling SymbolKit Swift.swift
[36/57] Compiling SymbolKit Names.swift
[37/57] Compiling SymbolKit SPI.swift
[38/57] Compiling SymbolKit Snippet.swift
[39/57] Compiling SymbolKit Extension.swift
[40/57] Compiling SymbolKit Symbol.swift
[41/57] Compiling SymbolKit SymbolKind.swift
[42/57] Compiling SymbolKit SymbolGraph.swift
[43/57] Compiling SymbolKit GraphCollector.swift
[44/57] Compiling SymbolKit GenericConstraint.swift
[45/57] Compiling SymbolKit GenericParameter.swift
[46/57] Compiling SymbolKit Generics.swift
[47/57] Compiling SymbolKit Namespace.swift
[48/57] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[49/57] Compiling SymbolKit UnifiedSymbol.swift
[50/57] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[51/57] Compiling SymbolKit UnifiedSymbolGraph.swift
[52/57] Compiling Snippets SnippetParser.swift
[53/57] Emitting module Snippets
[54/57] Compiling Snippets Snippet.swift
[55/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[56/61] Compiling snippet_extract URL+Status.swift
[57/61] Emitting module snippet_extract
[58/61] Compiling snippet_extract SnippetBuildCommand.swift
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (3.66s)
Building for debugging...
[0/1] Write swift-version--7754E27361AE5C74.txt
[2/13] Compiling SwiftKeys NSMenuItem+extensions.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/Utilities/NSMenuItem+extensions.swift:62:29: warning: capture of 'self' with non-sendable type 'NSMenuItem?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 60 |                 observe(\.keyEquivalent, options: [.old, .new]) { [weak self] _, changes in
 61 |                     guard
 62 |                         let self,
    |                             `- warning: capture of 'self' with non-sendable type 'NSMenuItem?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 63 |                         let oldValue = changes.oldValue,
 64 |                         let newValue = changes.newValue,
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
  |                     `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 |     case none
3 |     case some(Wrapped)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKeys/Utilities/NSMenuItem+extensions.swift:76:29: warning: capture of 'self' with non-sendable type 'NSMenuItem?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 74 |                 observe(\.keyEquivalentModifierMask, options: [.old, .new]) { [weak self] _, changes in
 75 |                     guard
 76 |                         let self,
    |                             `- warning: capture of 'self' with non-sendable type 'NSMenuItem?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 77 |                         let oldValue = changes.oldValue,
 78 |                         let newValue = changes.newValue,
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
  |                     `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 |     case none
3 |     case some(Wrapped)
[3/13] Compiling SwiftKeys KeyRecorderView.swift
[4/13] Compiling SwiftKeys Utilities.swift
[5/14] Compiling SwiftKeys ViewModifiers.swift
[6/14] Compiling SwiftKeys BezelStyle.swift
[7/14] Compiling SwiftKeys KeyCommandProxy.swift
[8/14] Compiling SwiftKeys Modifier.swift
[9/14] Compiling SwiftKeys KeyRecorder.swift
[10/14] Emitting module SwiftKeys
[11/14] Compiling SwiftKeys Key.swift
[12/14] Compiling SwiftKeys KeyCommand.swift
[13/14] Compiling SwiftKeys Name.swift
[14/14] Compiling SwiftKeys Observation.swift
Build of target: 'SwiftKeys' complete! (1.40s)
    1977
15	/Users/admin/builder/spi-builder-workspace/.docs/jordanbaird/swiftkeys/0.2.0
✅  Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/jordanbaird/swiftkeys/0.2.0
File count: 1977
Doc size:   15.0MB
Preparing doc bundle ...
Uploading prod-jordanbaird-swiftkeys-0.2.0-83b1a642.zip to s3://spi-docs-inbox/prod-jordanbaird-swiftkeys-0.2.0-83b1a642.zip
Copying... [11%]
Copying... [21%]
Copying... [30%]
Copying... [42%]
Copying... [51%]
Copying... [60%]
Copying... [72%]
Copying... [81%]
Copying... [91%]
Copying... [100%]
Done.