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.