This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.

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 KeyboardShortcuts with Swift 6.0 (beta) for macOS (SPM).

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/sindresorhus/KeyboardShortcuts.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/sindresorhus/KeyboardShortcuts
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 2e5f155 Fix missing localization for the “Space” key shortcut
Cloned https://github.com/sindresorhus/KeyboardShortcuts.git
Revision (git rev-parse @):
2e5f15581fefb821d4b366e57d817be8bf12aa58
SPI manifest file found: $workDir/.spi.yml
SUCCESS checkout https://github.com/sindresorhus/KeyboardShortcuts.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/sindresorhus/KeyboardShortcuts.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/18] Copying Localizable.strings
[13/18] Write sources
[13/18] Copying Localizable.strings
[15/18] Copying Info.plist
[17/18] Write swift-version-6F35C1178C84523A.txt
[19/29] Compiling KeyboardShortcuts RecorderCocoa.swift
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/RecorderCocoa.swift:126:33: warning: main actor-isolated property 'shortcutName' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
 41 | 		Can be dynamically changed at any time.
 42 | 		*/
 43 | 		public var shortcutName: Name {
    |              `- note: property declared here
 44 | 			didSet {
 45 | 				guard shortcutName != oldValue else {
    :
124 | 					let self,
125 | 					let nameInNotification = notification.userInfo?["name"] as? KeyboardShortcuts.Name,
126 | 					nameInNotification == self.shortcutName
    |                                 `- warning: main actor-isolated property 'shortcutName' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
127 | 				else {
128 | 					return
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/RecorderCocoa.swift:131:10: warning: call to main actor-isolated instance method 'setStringValue(name:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
112 | 		}
113 |
114 | 		private func setStringValue(name: KeyboardShortcuts.Name) {
    |                `- note: calls to instance method 'setStringValue(name:)' from outside of its actor context are implicitly asynchronous
115 | 			stringValue = getShortcut(for: shortcutName).map { "\($0)" } ?? ""
116 |
    :
129 | 				}
130 |
131 | 				self.setStringValue(name: nameInNotification)
    |          `- warning: call to main actor-isolated instance method 'setStringValue(name:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
132 | 			}
133 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/KeyboardShortcuts.swift:44:13: warning: static property 'isPaused' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 42 | 	When `true`, event handlers will not be called for registered keyboard shortcuts.
 43 | 	*/
 44 | 	static var isPaused = false
    |             |- warning: static property 'isPaused' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'isPaused' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: annotate 'isPaused' 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
 45 |
 46 | 	/**
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/RecorderCocoa.swift:185:24: warning: main actor-isolated property 'window' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
183 | 				guard
184 | 					let self,
185 | 					let window = self.window
    |                        `- warning: main actor-isolated property 'window' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
186 | 				else {
187 | 					return
AppKit.NSView:4:41: note: property declared here
  2 |     @MainActor public init(frame frameRect: NSRect)
  3 |     @MainActor public init?(coder: NSCoder)
  4 |     @MainActor unowned(unsafe) open var window: NSWindow? { get }
    |                                         `- note: property declared here
  5 |     unowned(unsafe) open var superview: NSView? { get }
  6 |     open var subviews: [NSView] { get set }
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/RecorderCocoa.swift:190:10: warning: call to main actor-isolated instance method 'endRecording()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
133 | 		}
134 |
135 | 		private func endRecording() {
    |                `- note: calls to instance method 'endRecording()' from outside of its actor context are implicitly asynchronous
136 | 			eventMonitor = nil
137 | 			placeholderString = "record_shortcut".localized
    :
188 | 				}
189 |
190 | 				self.endRecording()
    |          `- warning: call to main actor-isolated instance method 'endRecording()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
191 | 				window.makeFirstResponder(nil)
192 | 			}
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/RecorderCocoa.swift:191:12: warning: call to main actor-isolated instance method 'makeFirstResponder' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
189 |
190 | 				self.endRecording()
191 | 				window.makeFirstResponder(nil)
    |            `- warning: call to main actor-isolated instance method 'makeFirstResponder' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
192 | 			}
193 |
AppKit.NSWindow:90:26: note: calls to instance method 'makeFirstResponder' from outside of its actor context are implicitly asynchronous
 88 |     open var preservesContentDuringLiveResize: Bool { get set }
 89 |     open func update()
 90 |     @MainActor open func makeFirstResponder(_ responder: NSResponder?) -> Bool
    |                          `- note: calls to instance method 'makeFirstResponder' from outside of its actor context are implicitly asynchronous
 91 |     weak open var firstResponder: NSResponder? { get }
 92 |     open var resizeFlags: NSEvent.ModifierFlags { get }
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/RecorderCocoa.swift:196:11: warning: call to main actor-isolated instance method 'preventBecomingKey()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
141 | 		}
142 |
143 | 		private func preventBecomingKey() {
    |                `- note: calls to instance method 'preventBecomingKey()' from outside of its actor context are implicitly asynchronous
144 | 			canBecomeKey = false
145 |
    :
194 | 			// Ensures the recorder does not receive initial focus when a hidden window becomes unhidden.
195 | 			windowDidBecomeKeyObserver = NotificationCenter.default.addObserver(forName: NSWindow.didBecomeKeyNotification, object: window, queue: nil) { [weak self] _ in
196 | 				self?.preventBecomingKey()
    |           `- warning: call to main actor-isolated instance method 'preventBecomingKey()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
197 | 			}
198 |
[20/29] Compiling KeyboardShortcuts Utilities.swift
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Utilities.swift:309:1: warning: extension declares a conformance of imported type 'ModifierFlags' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'AppKit' introduce this conformance in the future
307 |
308 | /// :nodoc:
309 | extension NSEvent.ModifierFlags: CustomStringConvertible {
    | |- warning: extension declares a conformance of imported type 'ModifierFlags' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'AppKit' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
310 | 	/**
311 | 	The string representation of the modifier flags.
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Utilities.swift:347:13: warning: static property 'functionKeys' is not concurrency-safe because non-'Sendable' type 'Set<NSEvent.SpecialKey>' may have shared mutable state; this is an error in the Swift 6 language mode
345 |
346 | extension NSEvent.SpecialKey {
347 | 	static let functionKeys: Set<Self> = [
    |             `- warning: static property 'functionKeys' is not concurrency-safe because non-'Sendable' type 'Set<NSEvent.SpecialKey>' may have shared mutable state; this is an error in the Swift 6 language mode
348 | 		.f1,
349 | 		.f2,
AppKit.NSEvent:3:19: note: struct 'SpecialKey' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.9, *)
 2 | extension NSEvent {
 3 |     public struct SpecialKey : RawRepresentable, Equatable, Hashable {
   |                   `- note: struct 'SpecialKey' does not conform to the 'Sendable' protocol
 4 |         public init(rawValue: Int)
 5 |         public let rawValue: Int
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Utilities.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AppKit'
  1 | #if os(macOS)
  2 | import Carbon.HIToolbox
  3 | import SwiftUI
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AppKit'
  4 |
  5 |
    :
345 |
346 | extension NSEvent.SpecialKey {
347 | 	static let functionKeys: Set<Self> = [
    |             |- note: annotate 'functionKeys' 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
348 | 		.f1,
349 | 		.f2,
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Utilities.swift:111:36: warning: call to main actor-isolated instance method 'nextEvent(matching:until:inMode:dequeue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
109 |
110 | 			// Retrieve all events from the event queue to preserve their order (instead of using the `matching` parameter).
111 | 			while let eventToHandle = NSApp.nextEvent(matching: .any, until: nil, inMode: .default, dequeue: true) {
    |                                    `- warning: call to main actor-isolated instance method 'nextEvent(matching:until:inMode:dequeue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
112 | 				eventsToHandle.append(eventToHandle)
113 | 			}
AppKit.NSApplication:5:26: note: calls to instance method 'nextEvent(matching:until:inMode:dequeue:)' from outside of its actor context are implicitly asynchronous
 3 |     @MainActor open func postEvent(_ event: NSEvent, atStart flag: Bool)
 4 |     open var currentEvent: NSEvent? { get }
 5 |     @MainActor open func nextEvent(matching mask: NSEvent.EventTypeMask, until expiration: Date?, inMode mode: RunLoop.Mode, dequeue deqFlag: Bool) -> NSEvent?
   |                          `- note: calls to instance method 'nextEvent(matching:until:inMode:dequeue:)' from outside of its actor context are implicitly asynchronous
 6 |     @available(swift, obsoleted: 3, renamed: "nextEvent(matching:until:inMode:dequeue:)")
 7 |     open func nextEventMatchingMask(_ mask: NSEvent.EventTypeMask, untilDate expiration: Date?, inMode mode: RunLoop.Mode, dequeue deqFlag: Bool) -> NSEvent?
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Utilities.swift:111:30: warning: main actor-isolated var 'NSApp' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
109 |
110 | 			// Retrieve all events from the event queue to preserve their order (instead of using the `matching` parameter).
111 | 			while let eventToHandle = NSApp.nextEvent(matching: .any, until: nil, inMode: .default, dequeue: true) {
    |                              `- warning: main actor-isolated var 'NSApp' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
112 | 				eventsToHandle.append(eventToHandle)
113 | 			}
AppKit.NSApp:1:23: note: var declared here
1 | @MainActor public var NSApp: NSApplication!
  |                       `- note: var declared here
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Utilities.swift:129:11: warning: call to main actor-isolated instance method 'postEvent(_:atStart:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
127 | 				}
128 |
129 | 				NSApp.postEvent(handledEvent, atStart: false)
    |           `- warning: call to main actor-isolated instance method 'postEvent(_:atStart:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
130 | 			}
131 | 		}
AppKit.NSApplication:3:26: note: calls to instance method 'postEvent(_:atStart:)' from outside of its actor context are implicitly asynchronous
 1 | extension NSApplication {
 2 |     open func sendEvent(_ event: NSEvent)
 3 |     @MainActor open func postEvent(_ event: NSEvent, atStart flag: Bool)
   |                          `- note: calls to instance method 'postEvent(_:atStart:)' from outside of its actor context are implicitly asynchronous
 4 |     open var currentEvent: NSEvent? { get }
 5 |     @MainActor open func nextEvent(matching mask: NSEvent.EventTypeMask, until expiration: Date?, inMode mode: RunLoop.Mode, dequeue deqFlag: Bool) -> NSEvent?
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Utilities.swift:129:5: warning: main actor-isolated var 'NSApp' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
127 | 				}
128 |
129 | 				NSApp.postEvent(handledEvent, atStart: false)
    |     `- warning: main actor-isolated var 'NSApp' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
130 | 			}
131 | 		}
AppKit.NSApp:1:23: note: var declared here
1 | @MainActor public var NSApp: NSApplication!
  |                       `- note: var declared here
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Utilities.swift:129:11: warning: sending 'handledEvent' risks causing data races; this is an error in the Swift 6 language mode
127 | 				}
128 |
129 | 				NSApp.postEvent(handledEvent, atStart: false)
    |           |- warning: sending 'handledEvent' risks causing data races; this is an error in the Swift 6 language mode
    |           `- note: sending task-isolated 'handledEvent' to main actor-isolated instance method 'postEvent(_:atStart:)' risks causing data races between main actor-isolated and task-isolated uses
130 | 			}
131 | 		}
[21/29] Compiling KeyboardShortcuts Shortcut.swift
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Shortcut.swift:325:13: warning: main actor-isolated property 'description' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
313 | }
314 |
315 | extension KeyboardShortcuts.Shortcut: CustomStringConvertible {
    |                                       `- note: add '@preconcurrency' to the 'CustomStringConvertible' conformance to defer isolation checking to run time
316 | 	/**
317 | 	The string representation of the keyboard shortcut.
    :
323 | 	*/
324 | 	@MainActor
325 | 	public var description: String {
    |             `- warning: main actor-isolated property 'description' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
326 | 		// We use `.capitalized` so it correctly handles “⌘Space”.
327 | 		modifiers.description + (keyToCharacter()?.capitalized ?? "�")
Swift.CustomStringConvertible:2:9: note: 'description' declared here
1 | public protocol CustomStringConvertible {
2 |     var description: String { get }
  |         `- note: 'description' declared here
3 | }
[22/29] Compiling KeyboardShortcuts NSMenuItem++.swift
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/NSMenuItem++.swift:75:5: warning: capture of 'set()' with non-sendable type '() -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 73 |
 74 | 			DispatchQueue.main.async { // TODO: Use `Task { @MainActor`
 75 | 				set()
    |     |- warning: capture of 'set()' with non-sendable type '() -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 76 | 			}
 77 | 		}
[23/29] Compiling KeyboardShortcuts KeyboardShortcuts.swift
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/KeyboardShortcuts.swift:8:21: warning: static property 'registeredShortcuts' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
  6 | */
  7 | public enum KeyboardShortcuts {
  8 | 	private static var registeredShortcuts = Set<Shortcut>()
    |                     |- warning: static property 'registeredShortcuts' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'registeredShortcuts' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: annotate 'registeredShortcuts' 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
  9 |
 10 | 	private static var legacyKeyDownHandlers = [Name: [() -> Void]]()
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/KeyboardShortcuts.swift:10:21: warning: static property 'legacyKeyDownHandlers' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
  8 | 	private static var registeredShortcuts = Set<Shortcut>()
  9 |
 10 | 	private static var legacyKeyDownHandlers = [Name: [() -> Void]]()
    |                     |- warning: static property 'legacyKeyDownHandlers' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'legacyKeyDownHandlers' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: annotate 'legacyKeyDownHandlers' 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
 11 | 	private static var legacyKeyUpHandlers = [Name: [() -> Void]]()
 12 |
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/KeyboardShortcuts.swift:11:21: warning: static property 'legacyKeyUpHandlers' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
  9 |
 10 | 	private static var legacyKeyDownHandlers = [Name: [() -> Void]]()
 11 | 	private static var legacyKeyUpHandlers = [Name: [() -> Void]]()
    |                     |- warning: static property 'legacyKeyUpHandlers' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'legacyKeyUpHandlers' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: annotate 'legacyKeyUpHandlers' 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 |
 13 | 	private static var streamKeyDownHandlers = [Name: [UUID: () -> Void]]()
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/KeyboardShortcuts.swift:13:21: warning: static property 'streamKeyDownHandlers' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 11 | 	private static var legacyKeyUpHandlers = [Name: [() -> Void]]()
 12 |
 13 | 	private static var streamKeyDownHandlers = [Name: [UUID: () -> Void]]()
    |                     |- warning: static property 'streamKeyDownHandlers' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'streamKeyDownHandlers' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: annotate 'streamKeyDownHandlers' 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 | 	private static var streamKeyUpHandlers = [Name: [UUID: () -> Void]]()
 15 |
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/KeyboardShortcuts.swift:14:21: warning: static property 'streamKeyUpHandlers' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 12 |
 13 | 	private static var streamKeyDownHandlers = [Name: [UUID: () -> Void]]()
 14 | 	private static var streamKeyUpHandlers = [Name: [UUID: () -> Void]]()
    |                     |- warning: static property 'streamKeyUpHandlers' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'streamKeyUpHandlers' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: annotate 'streamKeyUpHandlers' 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
 15 |
 16 | 	private static var shortcutsForLegacyHandlers: Set<Shortcut> {
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/KeyboardShortcuts.swift:36:21: warning: static property 'isInitialized' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 34 | 	}
 35 |
 36 | 	private static var isInitialized = false
    |                     |- warning: static property 'isInitialized' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'isInitialized' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: annotate 'isInitialized' 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
 37 |
 38 | 	private static var openMenuObserver: NSObjectProtocol?
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/KeyboardShortcuts.swift:38:21: warning: static property 'openMenuObserver' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 36 | 	private static var isInitialized = false
 37 |
 38 | 	private static var openMenuObserver: NSObjectProtocol?
    |                     |- warning: static property 'openMenuObserver' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'openMenuObserver' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: annotate 'openMenuObserver' 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
 39 | 	private static var closeMenuObserver: NSObjectProtocol?
 40 |
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/KeyboardShortcuts.swift:39:21: warning: static property 'closeMenuObserver' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 37 |
 38 | 	private static var openMenuObserver: NSObjectProtocol?
 39 | 	private static var closeMenuObserver: NSObjectProtocol?
    |                     |- warning: static property 'closeMenuObserver' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'closeMenuObserver' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: annotate 'closeMenuObserver' 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
 40 |
 41 | 	/**
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/KeyboardShortcuts.swift:44:13: warning: static property 'isPaused' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 42 | 	When `true`, event handlers will not be called for registered keyboard shortcuts.
 43 | 	*/
 44 | 	static var isPaused = false
    |             |- warning: static property 'isPaused' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'isPaused' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: annotate 'isPaused' 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
 45 |
 46 | 	/**
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/KeyboardShortcuts.swift:51:20: warning: static property 'isEnabled' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 49 | 	The default is `true`.
 50 | 	*/
 51 | 	public static var isEnabled = true {
    |                    |- warning: static property 'isEnabled' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                    |- note: convert 'isEnabled' to a 'let' constant to make 'Sendable' shared state immutable
    |                    |- note: annotate 'isEnabled' 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
 52 | 		didSet {
 53 | 			guard isEnabled != oldValue else {
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/KeyboardShortcuts.swift:68:26: warning: static property 'isMenuOpen' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 66 | 	The main use-case for this is toggling the menu of a menu bar app with a keyboard shortcut.
 67 | 	*/
 68 | 	private(set) static var isMenuOpen = false {
    |                          |- warning: static property 'isMenuOpen' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                          |- note: convert 'isMenuOpen' to a 'let' constant to make 'Sendable' shared state immutable
    |                          |- note: annotate 'isMenuOpen' 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
 69 | 		didSet {
 70 | 			guard isMenuOpen != oldValue else {
[24/29] Compiling KeyboardShortcuts CarbonKeyboardShortcuts.swift
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/CarbonKeyboardShortcuts.swift:31:21: warning: static property 'hotKeys' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 29 | 	}
 30 |
 31 | 	private static var hotKeys = [Int: HotKey]()
    |                     |- warning: static property 'hotKeys' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'hotKeys' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: annotate 'hotKeys' 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
 32 |
 33 | 	// `SSKS` is just short for `Sindre Sorhus Keyboard Shortcuts`.
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/CarbonKeyboardShortcuts.swift:38:21: warning: static property 'hotKeyId' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 36 | 	private static let hotKeySignature: UInt32 = 1397967699 // OSType => "SSKS"
 37 |
 38 | 	private static var hotKeyId = 0
    |                     |- warning: static property 'hotKeyId' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'hotKeyId' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: annotate 'hotKeyId' 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
 39 | 	private static var eventHandler: EventHandlerRef?
 40 |
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/CarbonKeyboardShortcuts.swift:39:21: warning: static property 'eventHandler' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 37 |
 38 | 	private static var hotKeyId = 0
 39 | 	private static var eventHandler: EventHandlerRef?
    |                     |- warning: static property 'eventHandler' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'eventHandler' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: annotate 'eventHandler' 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
 40 |
 41 | 	private static let hotKeyEventTypes = [
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/CarbonKeyboardShortcuts.swift:50:21: warning: static property 'keyEventMonitor' is not concurrency-safe because non-'Sendable' type 'RunLoopLocalEventMonitor' may have shared mutable state; this is an error in the Swift 6 language mode
 48 | 	]
 49 |
 50 | 	private static let keyEventMonitor = RunLoopLocalEventMonitor(events: [.keyDown, .keyUp], runLoopMode: .eventTracking) { event in
    |                     |- warning: static property 'keyEventMonitor' is not concurrency-safe because non-'Sendable' type 'RunLoopLocalEventMonitor' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: annotate 'keyEventMonitor' 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
 51 | 		guard
 52 | 			let eventRef = OpaquePointer(event.eventRef),
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Utilities.swift:91:13: note: class 'RunLoopLocalEventMonitor' does not conform to the 'Sendable' protocol
 89 |
 90 |
 91 | final class RunLoopLocalEventMonitor {
    |             `- note: class 'RunLoopLocalEventMonitor' does not conform to the 'Sendable' protocol
 92 | 	private let runLoopMode: RunLoop.Mode
 93 | 	private let callback: (NSEvent) -> NSEvent?
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/KeyboardShortcuts.swift:51:20: warning: static property 'isEnabled' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 49 | 	The default is `true`.
 50 | 	*/
 51 | 	public static var isEnabled = true {
    |                    |- warning: static property 'isEnabled' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                    |- note: convert 'isEnabled' to a 'let' constant to make 'Sendable' shared state immutable
    |                    |- note: annotate 'isEnabled' 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
 52 | 		didSet {
 53 | 			guard isEnabled != oldValue else {
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/KeyboardShortcuts.swift:68:26: warning: static property 'isMenuOpen' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 66 | 	The main use-case for this is toggling the menu of a menu bar app with a keyboard shortcut.
 67 | 	*/
 68 | 	private(set) static var isMenuOpen = false {
    |                          |- warning: static property 'isMenuOpen' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                          |- note: convert 'isMenuOpen' to a 'let' constant to make 'Sendable' shared state immutable
    |                          |- note: annotate 'isMenuOpen' 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
 69 | 		didSet {
 70 | 			guard isMenuOpen != oldValue else {
[25/29] Compiling KeyboardShortcuts Key.swift
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/CarbonKeyboardShortcuts.swift:31:21: warning: static property 'hotKeys' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 29 | 	}
 30 |
 31 | 	private static var hotKeys = [Int: HotKey]()
    |                     |- warning: static property 'hotKeys' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'hotKeys' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: annotate 'hotKeys' 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
 32 |
 33 | 	// `SSKS` is just short for `Sindre Sorhus Keyboard Shortcuts`.
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/CarbonKeyboardShortcuts.swift:38:21: warning: static property 'hotKeyId' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 36 | 	private static let hotKeySignature: UInt32 = 1397967699 // OSType => "SSKS"
 37 |
 38 | 	private static var hotKeyId = 0
    |                     |- warning: static property 'hotKeyId' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'hotKeyId' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: annotate 'hotKeyId' 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
 39 | 	private static var eventHandler: EventHandlerRef?
 40 |
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/CarbonKeyboardShortcuts.swift:39:21: warning: static property 'eventHandler' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 37 |
 38 | 	private static var hotKeyId = 0
 39 | 	private static var eventHandler: EventHandlerRef?
    |                     |- warning: static property 'eventHandler' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'eventHandler' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: annotate 'eventHandler' 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
 40 |
 41 | 	private static let hotKeyEventTypes = [
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/CarbonKeyboardShortcuts.swift:50:21: warning: static property 'keyEventMonitor' is not concurrency-safe because non-'Sendable' type 'RunLoopLocalEventMonitor' may have shared mutable state; this is an error in the Swift 6 language mode
 48 | 	]
 49 |
 50 | 	private static let keyEventMonitor = RunLoopLocalEventMonitor(events: [.keyDown, .keyUp], runLoopMode: .eventTracking) { event in
    |                     |- warning: static property 'keyEventMonitor' is not concurrency-safe because non-'Sendable' type 'RunLoopLocalEventMonitor' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: annotate 'keyEventMonitor' 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
 51 | 		guard
 52 | 			let eventRef = OpaquePointer(event.eventRef),
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Utilities.swift:91:13: note: class 'RunLoopLocalEventMonitor' does not conform to the 'Sendable' protocol
 89 |
 90 |
 91 | final class RunLoopLocalEventMonitor {
    |             `- note: class 'RunLoopLocalEventMonitor' does not conform to the 'Sendable' protocol
 92 | 	private let runLoopMode: RunLoop.Mode
 93 | 	private let callback: (NSEvent) -> NSEvent?
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/KeyboardShortcuts.swift:51:20: warning: static property 'isEnabled' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 49 | 	The default is `true`.
 50 | 	*/
 51 | 	public static var isEnabled = true {
    |                    |- warning: static property 'isEnabled' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                    |- note: convert 'isEnabled' to a 'let' constant to make 'Sendable' shared state immutable
    |                    |- note: annotate 'isEnabled' 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
 52 | 		didSet {
 53 | 			guard isEnabled != oldValue else {
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/KeyboardShortcuts.swift:68:26: warning: static property 'isMenuOpen' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 66 | 	The main use-case for this is toggling the menu of a menu bar app with a keyboard shortcut.
 67 | 	*/
 68 | 	private(set) static var isMenuOpen = false {
    |                          |- warning: static property 'isMenuOpen' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                          |- note: convert 'isMenuOpen' to a 'let' constant to make 'Sendable' shared state immutable
    |                          |- note: annotate 'isMenuOpen' 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
 69 | 		didSet {
 70 | 			guard isMenuOpen != oldValue else {
[26/29] Compiling KeyboardShortcuts Name.swift
[27/29] Compiling KeyboardShortcuts Recorder.swift
[28/29] Compiling KeyboardShortcuts ViewModifiers.swift
[29/29] Emitting module KeyboardShortcuts
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/CarbonKeyboardShortcuts.swift:31:21: warning: static property 'hotKeys' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 29 | 	}
 30 |
 31 | 	private static var hotKeys = [Int: HotKey]()
    |                     |- warning: static property 'hotKeys' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'hotKeys' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: annotate 'hotKeys' 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
 32 |
 33 | 	// `SSKS` is just short for `Sindre Sorhus Keyboard Shortcuts`.
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/CarbonKeyboardShortcuts.swift:38:21: warning: static property 'hotKeyId' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 36 | 	private static let hotKeySignature: UInt32 = 1397967699 // OSType => "SSKS"
 37 |
 38 | 	private static var hotKeyId = 0
    |                     |- warning: static property 'hotKeyId' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'hotKeyId' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: annotate 'hotKeyId' 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
 39 | 	private static var eventHandler: EventHandlerRef?
 40 |
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/CarbonKeyboardShortcuts.swift:39:21: warning: static property 'eventHandler' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 37 |
 38 | 	private static var hotKeyId = 0
 39 | 	private static var eventHandler: EventHandlerRef?
    |                     |- warning: static property 'eventHandler' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'eventHandler' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: annotate 'eventHandler' 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
 40 |
 41 | 	private static let hotKeyEventTypes = [
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/CarbonKeyboardShortcuts.swift:50:21: warning: static property 'keyEventMonitor' is not concurrency-safe because non-'Sendable' type 'RunLoopLocalEventMonitor' may have shared mutable state; this is an error in the Swift 6 language mode
 48 | 	]
 49 |
 50 | 	private static let keyEventMonitor = RunLoopLocalEventMonitor(events: [.keyDown, .keyUp], runLoopMode: .eventTracking) { event in
    |                     |- warning: static property 'keyEventMonitor' is not concurrency-safe because non-'Sendable' type 'RunLoopLocalEventMonitor' may have shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: annotate 'keyEventMonitor' 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
 51 | 		guard
 52 | 			let eventRef = OpaquePointer(event.eventRef),
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Utilities.swift:91:13: note: class 'RunLoopLocalEventMonitor' does not conform to the 'Sendable' protocol
 89 |
 90 |
 91 | final class RunLoopLocalEventMonitor {
    |             `- note: class 'RunLoopLocalEventMonitor' does not conform to the 'Sendable' protocol
 92 | 	private let runLoopMode: RunLoop.Mode
 93 | 	private let callback: (NSEvent) -> NSEvent?
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/KeyboardShortcuts.swift:8:21: warning: static property 'registeredShortcuts' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
  6 | */
  7 | public enum KeyboardShortcuts {
  8 | 	private static var registeredShortcuts = Set<Shortcut>()
    |                     |- warning: static property 'registeredShortcuts' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'registeredShortcuts' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: annotate 'registeredShortcuts' 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
  9 |
 10 | 	private static var legacyKeyDownHandlers = [Name: [() -> Void]]()
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/KeyboardShortcuts.swift:10:21: warning: static property 'legacyKeyDownHandlers' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
  8 | 	private static var registeredShortcuts = Set<Shortcut>()
  9 |
 10 | 	private static var legacyKeyDownHandlers = [Name: [() -> Void]]()
    |                     |- warning: static property 'legacyKeyDownHandlers' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'legacyKeyDownHandlers' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: annotate 'legacyKeyDownHandlers' 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
 11 | 	private static var legacyKeyUpHandlers = [Name: [() -> Void]]()
 12 |
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/KeyboardShortcuts.swift:11:21: warning: static property 'legacyKeyUpHandlers' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
  9 |
 10 | 	private static var legacyKeyDownHandlers = [Name: [() -> Void]]()
 11 | 	private static var legacyKeyUpHandlers = [Name: [() -> Void]]()
    |                     |- warning: static property 'legacyKeyUpHandlers' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'legacyKeyUpHandlers' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: annotate 'legacyKeyUpHandlers' 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 |
 13 | 	private static var streamKeyDownHandlers = [Name: [UUID: () -> Void]]()
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/KeyboardShortcuts.swift:13:21: warning: static property 'streamKeyDownHandlers' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 11 | 	private static var legacyKeyUpHandlers = [Name: [() -> Void]]()
 12 |
 13 | 	private static var streamKeyDownHandlers = [Name: [UUID: () -> Void]]()
    |                     |- warning: static property 'streamKeyDownHandlers' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'streamKeyDownHandlers' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: annotate 'streamKeyDownHandlers' 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 | 	private static var streamKeyUpHandlers = [Name: [UUID: () -> Void]]()
 15 |
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/KeyboardShortcuts.swift:14:21: warning: static property 'streamKeyUpHandlers' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 12 |
 13 | 	private static var streamKeyDownHandlers = [Name: [UUID: () -> Void]]()
 14 | 	private static var streamKeyUpHandlers = [Name: [UUID: () -> Void]]()
    |                     |- warning: static property 'streamKeyUpHandlers' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'streamKeyUpHandlers' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: annotate 'streamKeyUpHandlers' 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
 15 |
 16 | 	private static var shortcutsForLegacyHandlers: Set<Shortcut> {
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/KeyboardShortcuts.swift:36:21: warning: static property 'isInitialized' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 34 | 	}
 35 |
 36 | 	private static var isInitialized = false
    |                     |- warning: static property 'isInitialized' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'isInitialized' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: annotate 'isInitialized' 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
 37 |
 38 | 	private static var openMenuObserver: NSObjectProtocol?
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/KeyboardShortcuts.swift:38:21: warning: static property 'openMenuObserver' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 36 | 	private static var isInitialized = false
 37 |
 38 | 	private static var openMenuObserver: NSObjectProtocol?
    |                     |- warning: static property 'openMenuObserver' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'openMenuObserver' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: annotate 'openMenuObserver' 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
 39 | 	private static var closeMenuObserver: NSObjectProtocol?
 40 |
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/KeyboardShortcuts.swift:39:21: warning: static property 'closeMenuObserver' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 37 |
 38 | 	private static var openMenuObserver: NSObjectProtocol?
 39 | 	private static var closeMenuObserver: NSObjectProtocol?
    |                     |- warning: static property 'closeMenuObserver' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                     |- note: convert 'closeMenuObserver' to a 'let' constant to make 'Sendable' shared state immutable
    |                     |- note: annotate 'closeMenuObserver' 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
 40 |
 41 | 	/**
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/KeyboardShortcuts.swift:44:13: warning: static property 'isPaused' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 42 | 	When `true`, event handlers will not be called for registered keyboard shortcuts.
 43 | 	*/
 44 | 	static var isPaused = false
    |             |- warning: static property 'isPaused' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'isPaused' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: annotate 'isPaused' 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
 45 |
 46 | 	/**
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/KeyboardShortcuts.swift:51:20: warning: static property 'isEnabled' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 49 | 	The default is `true`.
 50 | 	*/
 51 | 	public static var isEnabled = true {
    |                    |- warning: static property 'isEnabled' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                    |- note: convert 'isEnabled' to a 'let' constant to make 'Sendable' shared state immutable
    |                    |- note: annotate 'isEnabled' 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
 52 | 		didSet {
 53 | 			guard isEnabled != oldValue else {
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/KeyboardShortcuts.swift:68:26: warning: static property 'isMenuOpen' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 66 | 	The main use-case for this is toggling the menu of a menu bar app with a keyboard shortcut.
 67 | 	*/
 68 | 	private(set) static var isMenuOpen = false {
    |                          |- warning: static property 'isMenuOpen' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                          |- note: convert 'isMenuOpen' to a 'let' constant to make 'Sendable' shared state immutable
    |                          |- note: annotate 'isMenuOpen' 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
 69 | 		didSet {
 70 | 			guard isMenuOpen != oldValue else {
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Shortcut.swift:325:13: warning: main actor-isolated property 'description' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
313 | }
314 |
315 | extension KeyboardShortcuts.Shortcut: CustomStringConvertible {
    |                                       `- note: add '@preconcurrency' to the 'CustomStringConvertible' conformance to defer isolation checking to run time
316 | 	/**
317 | 	The string representation of the keyboard shortcut.
    :
323 | 	*/
324 | 	@MainActor
325 | 	public var description: String {
    |             `- warning: main actor-isolated property 'description' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
326 | 		// We use `.capitalized` so it correctly handles “⌘Space”.
327 | 		modifiers.description + (keyToCharacter()?.capitalized ?? "�")
Swift.CustomStringConvertible:2:9: note: 'description' declared here
1 | public protocol CustomStringConvertible {
2 |     var description: String { get }
  |         `- note: 'description' declared here
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Utilities.swift:309:1: warning: extension declares a conformance of imported type 'ModifierFlags' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'AppKit' introduce this conformance in the future
307 |
308 | /// :nodoc:
309 | extension NSEvent.ModifierFlags: CustomStringConvertible {
    | |- warning: extension declares a conformance of imported type 'ModifierFlags' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'AppKit' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
310 | 	/**
311 | 	The string representation of the modifier flags.
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Utilities.swift:347:13: warning: static property 'functionKeys' is not concurrency-safe because non-'Sendable' type 'Set<NSEvent.SpecialKey>' may have shared mutable state; this is an error in the Swift 6 language mode
345 |
346 | extension NSEvent.SpecialKey {
347 | 	static let functionKeys: Set<Self> = [
    |             `- warning: static property 'functionKeys' is not concurrency-safe because non-'Sendable' type 'Set<NSEvent.SpecialKey>' may have shared mutable state; this is an error in the Swift 6 language mode
348 | 		.f1,
349 | 		.f2,
AppKit.NSEvent:3:19: note: struct 'SpecialKey' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.9, *)
 2 | extension NSEvent {
 3 |     public struct SpecialKey : RawRepresentable, Equatable, Hashable {
   |                   `- note: struct 'SpecialKey' does not conform to the 'Sendable' protocol
 4 |         public init(rawValue: Int)
 5 |         public let rawValue: Int
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Utilities.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AppKit'
  1 | #if os(macOS)
  2 | import Carbon.HIToolbox
  3 | import SwiftUI
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AppKit'
  4 |
  5 |
    :
345 |
346 | extension NSEvent.SpecialKey {
347 | 	static let functionKeys: Set<Self> = [
    |             |- note: annotate 'functionKeys' 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
348 | 		.f1,
349 | 		.f2,
[30/30] Compiling KeyboardShortcuts resource_bundle_accessor.swift
Build complete! (35.58s)
Build complete.
{
  "default_localization" : "en",
  "dependencies" : [
  ],
  "manifest_display_name" : "KeyboardShortcuts",
  "name" : "KeyboardShortcuts",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    }
  ],
  "products" : [
    {
      "name" : "KeyboardShortcuts",
      "targets" : [
        "KeyboardShortcuts"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "KeyboardShortcutsTests",
      "module_type" : "SwiftTarget",
      "name" : "KeyboardShortcutsTests",
      "path" : "Tests/KeyboardShortcutsTests",
      "sources" : [
        "KeyboardShortcutsTests.swift",
        "Utilities.swift"
      ],
      "target_dependencies" : [
        "KeyboardShortcuts"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KeyboardShortcuts",
      "module_type" : "SwiftTarget",
      "name" : "KeyboardShortcuts",
      "path" : "Sources/KeyboardShortcuts",
      "product_memberships" : [
        "KeyboardShortcuts"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Localization/cs.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "cs"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Localization/ru.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "ru"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Localization/de.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "de"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Localization/fr.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "fr"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Localization/ja.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "ja"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Localization/zh-TW.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "zh-tw"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Localization/ar.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "ar"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Localization/nl.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "nl"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Localization/zh-Hans.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "zh-hans"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Localization/en.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "en"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Localization/sk.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "sk"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Localization/hu.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "hu"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Localization/es.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "es"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Localization/ko.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "ko"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Localization/pt-BR.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "pt-br"
            }
          }
        }
      ],
      "sources" : [
        "CarbonKeyboardShortcuts.swift",
        "Key.swift",
        "KeyboardShortcuts.swift",
        "NSMenuItem++.swift",
        "Name.swift",
        "Recorder.swift",
        "RecorderCocoa.swift",
        "Shortcut.swift",
        "Utilities.swift",
        "ViewModifiers.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.