Build Information
Successful build of KeyboardShortcuts, reference 2.4.0 (1aef85), with Swift 6.1 for macOS (SPM) on 18 Sep 2025 11:07:01 UTC.
Swift 6 data race errors: 17
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCapturesBuild Log
========================================
RunAll
========================================
Builder version: 4.67.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/sindresorhus/KeyboardShortcuts.git
Reference: 2.4.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/sindresorhus/KeyboardShortcuts
* tag 2.4.0 -> FETCH_HEAD
HEAD is now at 1aef855 Fix `RecorderCocoa` zero-size issue when added without constraints
Cloned https://github.com/sindresorhus/KeyboardShortcuts.git
Revision (git rev-parse @):
1aef85578fdd4f9eaeeb8d53b7b4fc31bf08fe27
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/sindresorhus/KeyboardShortcuts.git at 2.4.0
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"dependencies": [
{
"identity": "keyboardshortcuts",
"name": "KeyboardShortcuts",
"url": "https://github.com/sindresorhus/KeyboardShortcuts.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/KeyboardShortcuts",
"dependencies": [
]
}
]
}
Fetching https://github.com/sindresorhus/KeyboardShortcuts.git
[1/6952] Fetching keyboardshortcuts
Fetched https://github.com/sindresorhus/KeyboardShortcuts.git from cache (1.11s)
Creating working copy for https://github.com/sindresorhus/KeyboardShortcuts.git
Working copy of https://github.com/sindresorhus/KeyboardShortcuts.git resolved at 2.4.0 (1aef855)
warning: '.resolve-product-dependencies': dependency 'keyboardshortcuts' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/sindresorhus/KeyboardShortcuts.git
https://github.com/sindresorhus/KeyboardShortcuts.git
{
"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",
"RecorderLayoutTests.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/ar.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "ar"
}
}
},
{
"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/de.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "de"
}
}
},
{
"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/es.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "es"
}
}
},
{
"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/hu.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "hu"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Localization/it.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "it"
}
}
},
{
"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/ko.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "ko"
}
}
},
{
"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/pt-BR.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "pt-br"
}
}
},
{
"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/sk.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "sk"
}
}
},
{
"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/zh-TW.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "zh-tw"
}
}
}
],
"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" : "6.1"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/19] Copying Localizable.strings
[13/19] Write sources
[15/19] Copying Info.plist
[15/19] Copying Localizable.strings
[18/19] Write swift-version-2F0A5646E1D333AE.txt
[20/30] 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 nonisolated 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 nonisolated 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: add '@MainActor' to make static property 'hotKeys' part of global actor 'MainActor'
| `- 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 nonisolated 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 nonisolated 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: add '@MainActor' to make static property 'hotKeyId' part of global actor 'MainActor'
| `- 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 nonisolated 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 nonisolated 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: add '@MainActor' to make static property 'eventHandler' part of global actor 'MainActor'
| `- 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: add '@MainActor' to make static property 'keyEventMonitor' part of global actor 'MainActor'
| `- 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:93:13: note: class 'RunLoopLocalEventMonitor' does not conform to the 'Sendable' protocol
91 |
92 |
93 | final class RunLoopLocalEventMonitor {
| `- note: class 'RunLoopLocalEventMonitor' does not conform to the 'Sendable' protocol
94 | private let runLoopMode: RunLoop.Mode
95 | 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 nonisolated 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 nonisolated 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: add '@MainActor' to make static property 'registeredShortcuts' part of global actor 'MainActor'
| `- 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 nonisolated 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 nonisolated 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: add '@MainActor' to make static property 'legacyKeyDownHandlers' part of global actor 'MainActor'
| `- 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 nonisolated 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 nonisolated 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: add '@MainActor' to make static property 'legacyKeyUpHandlers' part of global actor 'MainActor'
| `- 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 nonisolated 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 nonisolated 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: add '@MainActor' to make static property 'streamKeyDownHandlers' part of global actor 'MainActor'
| `- 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 nonisolated 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 nonisolated 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: add '@MainActor' to make static property 'streamKeyUpHandlers' part of global actor 'MainActor'
| `- 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 nonisolated 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 nonisolated 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: add '@MainActor' to make static property 'isInitialized' part of global actor 'MainActor'
| `- 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 nonisolated 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 nonisolated 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: add '@MainActor' to make static property 'openMenuObserver' part of global actor 'MainActor'
| `- 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 nonisolated 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 nonisolated 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: add '@MainActor' to make static property 'closeMenuObserver' part of global actor 'MainActor'
| `- 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 nonisolated 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 nonisolated 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: add '@MainActor' to make static property 'isPaused' part of global actor 'MainActor'
| `- 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 nonisolated 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 nonisolated 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: add '@MainActor' to make static property 'isEnabled' part of global actor 'MainActor'
| `- 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:81:26: warning: static property 'isMenuOpen' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
79 | The main use-case for this is toggling the menu of a menu bar app with a keyboard shortcut.
80 | */
81 | private(set) static var isMenuOpen = false {
| |- warning: static property 'isMenuOpen' is not concurrency-safe because it is nonisolated 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: add '@MainActor' to make static property 'isMenuOpen' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
82 | didSet {
83 | guard isMenuOpen != oldValue else {
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Shortcut.swift:748:13: warning: main actor-isolated property 'description' cannot be used to satisfy nonisolated requirement from protocol 'CustomStringConvertible'; this is an error in the Swift 6 language mode
723 | }
724 |
725 | extension KeyboardShortcuts.Shortcut: CustomStringConvertible {
| `- note: add '@preconcurrency' to the 'CustomStringConvertible' conformance to defer isolation checking to run time
726 | /**
727 | The string representation of the keyboard shortcut.
:
746 |
747 | @MainActor
748 | public var description: String {
| `- warning: main actor-isolated property 'description' cannot be used to satisfy nonisolated requirement from protocol 'CustomStringConvertible'; this is an error in the Swift 6 language mode
749 | // TODO: `description` needs to be `nonisolated`
750 | presentableDescription
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Utilities.swift:417: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
415 |
416 | extension NSEvent.SpecialKey {
417 | 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
418 | .f1,
419 | .f2,
AppKit.NSEvent.SpecialKey:2:15: note: struct 'SpecialKey' does not conform to the 'Sendable' protocol
1 | class NSEvent {
2 | public struct SpecialKey : RawRepresentable, Equatable, Hashable {
| `- note: struct 'SpecialKey' does not conform to the 'Sendable' protocol
3 | public init(rawValue: Int)
4 | public let rawValue: Int
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Utilities.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AppKit'
1 | import SwiftUI
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AppKit'
2 |
3 | #if os(macOS)
:
415 |
416 | extension NSEvent.SpecialKey {
417 | static let functionKeys: Set<Self> = [
| |- note: add '@MainActor' to make static property 'functionKeys' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
418 | .f1,
419 | .f2,
[21/30] 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 nonisolated 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 nonisolated 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: add '@MainActor' to make static property 'hotKeys' part of global actor 'MainActor'
| `- 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 nonisolated 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 nonisolated 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: add '@MainActor' to make static property 'hotKeyId' part of global actor 'MainActor'
| `- 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 nonisolated 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 nonisolated 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: add '@MainActor' to make static property 'eventHandler' part of global actor 'MainActor'
| `- 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: add '@MainActor' to make static property 'keyEventMonitor' part of global actor 'MainActor'
| `- 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:93:13: note: class 'RunLoopLocalEventMonitor' does not conform to the 'Sendable' protocol
91 |
92 |
93 | final class RunLoopLocalEventMonitor {
| `- note: class 'RunLoopLocalEventMonitor' does not conform to the 'Sendable' protocol
94 | private let runLoopMode: RunLoop.Mode
95 | private let callback: (NSEvent) -> NSEvent?
[22/30] 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 nonisolated 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 nonisolated 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: add '@MainActor' to make static property 'hotKeys' part of global actor 'MainActor'
| `- 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 nonisolated 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 nonisolated 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: add '@MainActor' to make static property 'hotKeyId' part of global actor 'MainActor'
| `- 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 nonisolated 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 nonisolated 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: add '@MainActor' to make static property 'eventHandler' part of global actor 'MainActor'
| `- 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: add '@MainActor' to make static property 'keyEventMonitor' part of global actor 'MainActor'
| `- 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:93:13: note: class 'RunLoopLocalEventMonitor' does not conform to the 'Sendable' protocol
91 |
92 |
93 | final class RunLoopLocalEventMonitor {
| `- note: class 'RunLoopLocalEventMonitor' does not conform to the 'Sendable' protocol
94 | private let runLoopMode: RunLoop.Mode
95 | private let callback: (NSEvent) -> NSEvent?
[23/31] Compiling KeyboardShortcuts resource_bundle_accessor.swift
[24/31] Compiling KeyboardShortcuts ViewModifiers.swift
[25/31] Compiling KeyboardShortcuts Recorder.swift
[26/31] Compiling KeyboardShortcuts Utilities.swift
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Utilities.swift:417: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
415 |
416 | extension NSEvent.SpecialKey {
417 | 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
418 | .f1,
419 | .f2,
AppKit.NSEvent.SpecialKey:2:15: note: struct 'SpecialKey' does not conform to the 'Sendable' protocol
1 | class NSEvent {
2 | public struct SpecialKey : RawRepresentable, Equatable, Hashable {
| `- note: struct 'SpecialKey' does not conform to the 'Sendable' protocol
3 | public init(rawValue: Int)
4 | public let rawValue: Int
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Utilities.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AppKit'
1 | import SwiftUI
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AppKit'
2 |
3 | #if os(macOS)
:
415 |
416 | extension NSEvent.SpecialKey {
417 | static let functionKeys: Set<Self> = [
| |- note: add '@MainActor' to make static property 'functionKeys' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
418 | .f1,
419 | .f2,
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Utilities.swift:113: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
111 |
112 | // Retrieve all events from the event queue to preserve their order (instead of using the `matching` parameter).
113 | 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
114 | eventsToHandle.append(eventToHandle)
115 | }
AppKit.NSApplication.nextEvent:2:22: note: calls to instance method 'nextEvent(matching:until:inMode:dequeue:)' from outside of its actor context are implicitly asynchronous
1 | class NSApplication {
2 | @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
| `- note: main actor isolation inferred from inheritance from class 'NSResponder'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Utilities.swift:113:30: warning: main actor-isolated var 'NSApp' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
111 |
112 | // Retrieve all events from the event queue to preserve their order (instead of using the `matching` parameter).
113 | 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 nonisolated context; this is an error in the Swift 6 language mode
114 | eventsToHandle.append(eventToHandle)
115 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:191:58: note: var declared here
189 | @interface NSApplication : NSResponder <NSUserInterfaceValidations, NSMenuItemValidation, NSAccessibilityElement, NSAccessibility>
190 |
191 | APPKIT_EXTERN __kindof NSApplication * _Null_unspecified NSApp NS_SWIFT_UI_ACTOR;
| `- note: var declared here
192 |
193 | @property (class, readonly, strong) __kindof NSApplication *sharedApplication;
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Utilities.swift:131: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
129 | }
130 |
131 | 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
132 | }
133 | }
AppKit.NSApplication.postEvent:2:22: note: calls to instance method 'postEvent(_:atStart:)' from outside of its actor context are implicitly asynchronous
1 | class NSApplication {
2 | @MainActor open func postEvent(_ event: NSEvent, atStart: Bool)}
| |- note: calls to instance method 'postEvent(_:atStart:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSResponder'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Utilities.swift:131:5: warning: main actor-isolated var 'NSApp' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
129 | }
130 |
131 | NSApp.postEvent(handledEvent, atStart: false)
| `- warning: main actor-isolated var 'NSApp' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
132 | }
133 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:191:58: note: var declared here
189 | @interface NSApplication : NSResponder <NSUserInterfaceValidations, NSMenuItemValidation, NSAccessibilityElement, NSAccessibility>
190 |
191 | APPKIT_EXTERN __kindof NSApplication * _Null_unspecified NSApp NS_SWIFT_UI_ACTOR;
| `- note: var declared here
192 |
193 | @property (class, readonly, strong) __kindof NSApplication *sharedApplication;
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Utilities.swift:131:11: warning: sending 'handledEvent' risks causing data races; this is an error in the Swift 6 language mode
129 | }
130 |
131 | NSApp.postEvent(handledEvent, atStart: false)
| |- warning: sending 'handledEvent' risks causing data races; this is an error in the Swift 6 language mode
| |- note: sending 'handledEvent' to main actor-isolated instance method 'postEvent(_:atStart:)' risks causing data races between main actor-isolated and local nonisolated uses
| `- note: access can happen concurrently
132 | }
133 | }
[27/31] 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
73 |
74 | DispatchQueue.main.async { // TODO: Use `Task { @MainActor`
75 | set()
| |- warning: capture of 'set()' with non-sendable type '() -> ()' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
76 | }
77 | }
[28/31] Compiling KeyboardShortcuts Name.swift
[29/31] 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 nonisolated 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 nonisolated 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: add '@MainActor' to make static property 'registeredShortcuts' part of global actor 'MainActor'
| `- 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 nonisolated 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 nonisolated 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: add '@MainActor' to make static property 'legacyKeyDownHandlers' part of global actor 'MainActor'
| `- 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 nonisolated 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 nonisolated 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: add '@MainActor' to make static property 'legacyKeyUpHandlers' part of global actor 'MainActor'
| `- 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 nonisolated 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 nonisolated 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: add '@MainActor' to make static property 'streamKeyDownHandlers' part of global actor 'MainActor'
| `- 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 nonisolated 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 nonisolated 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: add '@MainActor' to make static property 'streamKeyUpHandlers' part of global actor 'MainActor'
| `- 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 nonisolated 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 nonisolated 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: add '@MainActor' to make static property 'isInitialized' part of global actor 'MainActor'
| `- 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 nonisolated 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 nonisolated 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: add '@MainActor' to make static property 'openMenuObserver' part of global actor 'MainActor'
| `- 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 nonisolated 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 nonisolated 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: add '@MainActor' to make static property 'closeMenuObserver' part of global actor 'MainActor'
| `- 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 nonisolated 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 nonisolated 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: add '@MainActor' to make static property 'isPaused' part of global actor 'MainActor'
| `- 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 nonisolated 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 nonisolated 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: add '@MainActor' to make static property 'isEnabled' part of global actor 'MainActor'
| `- 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:81:26: warning: static property 'isMenuOpen' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
79 | The main use-case for this is toggling the menu of a menu bar app with a keyboard shortcut.
80 | */
81 | private(set) static var isMenuOpen = false {
| |- warning: static property 'isMenuOpen' is not concurrency-safe because it is nonisolated 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: add '@MainActor' to make static property 'isMenuOpen' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
82 | didSet {
83 | guard isMenuOpen != oldValue else {
[30/31] Compiling KeyboardShortcuts Shortcut.swift
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Shortcut.swift:748:13: warning: main actor-isolated property 'description' cannot be used to satisfy nonisolated requirement from protocol 'CustomStringConvertible'; this is an error in the Swift 6 language mode
723 | }
724 |
725 | extension KeyboardShortcuts.Shortcut: CustomStringConvertible {
| `- note: add '@preconcurrency' to the 'CustomStringConvertible' conformance to defer isolation checking to run time
726 | /**
727 | The string representation of the keyboard shortcut.
:
746 |
747 | @MainActor
748 | public var description: String {
| `- warning: main actor-isolated property 'description' cannot be used to satisfy nonisolated requirement from protocol 'CustomStringConvertible'; this is an error in the Swift 6 language mode
749 | // TODO: `description` needs to be `nonisolated`
750 | presentableDescription
[31/31] Compiling KeyboardShortcuts RecorderCocoa.swift
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/RecorderCocoa.swift:128:28: 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 {
:
126 | let self,
127 | let nameInNotification = notification.userInfo?["name"] as? KeyboardShortcuts.Name,
128 | nameInNotification == 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
129 | else {
130 | return
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/RecorderCocoa.swift:133:5: 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
114 | }
115 |
116 | private func setStringValue(name: KeyboardShortcuts.Name) {
| |- note: calls to instance method 'setStringValue(name:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSSearchField'
117 | stringValue = getShortcut(for: shortcutName).map { "\($0)" } ?? ""
118 |
:
131 | }
132 |
133 | 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
134 | }
135 | }
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/RecorderCocoa.swift:188: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
186 | guard
187 | let self,
188 | 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
189 | else {
190 | return
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:86:61: note: property declared here
84 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
85 |
86 | @property (nullable, readonly, unsafe_unretained) NSWindow *window;
| `- note: property declared here
87 | @property (nullable, readonly, unsafe_unretained) NSView *superview;
88 | @property (copy) NSArray<__kindof NSView *> *subviews;
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/RecorderCocoa.swift:193:5: warning: call to main actor-isolated instance method 'endRecording()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
135 | }
136 |
137 | private func endRecording() {
| |- note: calls to instance method 'endRecording()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSSearchField'
138 | eventMonitor = nil
139 | placeholderString = "record_shortcut".localized
:
191 | }
192 |
193 | 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
194 | window.makeFirstResponder(nil)
195 | }
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/RecorderCocoa.swift:194: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
192 |
193 | endRecording()
194 | 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
195 | }
196 |
AppKit.NSWindow.makeFirstResponder:2:22: note: calls to instance method 'makeFirstResponder' from outside of its actor context are implicitly asynchronous
1 | class NSWindow {
2 | @MainActor open func makeFirstResponder(_ responder: NSResponder?) -> Bool}
| |- note: calls to instance method 'makeFirstResponder' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSResponder'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/RecorderCocoa.swift:199: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
144 | }
145 |
146 | private func preventBecomingKey() {
| |- note: calls to instance method 'preventBecomingKey()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSSearchField'
147 | canBecomeKey = false
148 |
:
197 | // Ensures the recorder does not receive initial focus when a hidden window becomes unhidden.
198 | windowDidBecomeKeyObserver = NotificationCenter.default.addObserver(forName: NSWindow.didBecomeKeyNotification, object: window, queue: nil) { [weak self] _ in
199 | 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
200 | }
201 |
Build complete! (8.18s)
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",
"RecorderLayoutTests.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/ar.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "ar"
}
}
},
{
"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/de.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "de"
}
}
},
{
"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/es.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "es"
}
}
},
{
"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/hu.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "hu"
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/KeyboardShortcuts/Localization/it.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "it"
}
}
},
{
"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/ko.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "ko"
}
}
},
{
"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/pt-BR.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "pt-br"
}
}
},
{
"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/sk.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "sk"
}
}
},
{
"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/zh-TW.lproj/Localizable.strings",
"rule" : {
"process" : {
"localization" : "zh-tw"
}
}
}
],
"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" : "6.1"
}
✅ Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path: $PWD/.docs/sindresorhus/keyboardshortcuts/2.4.0
Repository: sindresorhus/KeyboardShortcuts
Swift version used: 6.1
Target: KeyboardShortcuts
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/swift-docc-render-artifact/.git/
From https://github.com/swiftlang/swift-docc-render-artifact
* branch 4633b45fc732d8c55568be09dd852f9dc1582c25 -> FETCH_HEAD
HEAD is now at 4633b45 Update the artifact
Cloned https://github.com/swiftlang/swift-docc-render-artifact
Extracting symbol information for 'KeyboardShortcuts'...
Finished extracting symbol information for 'KeyboardShortcuts'. (6.30s)
Building documentation for 'KeyboardShortcuts'...
warning: '(Name...)' isn't a disambiguation for 'disable(_:)' at '/KeyboardShortcuts/KeyboardShortcuts'
--> Sources/KeyboardShortcuts/KeyboardShortcuts.swift:217:26-217:36
215 | ```
216 |
217 + - Tip: Use ``disable(_:)-(Name...)`` and ``enable(_:)-(Name...)`` to change the status.
| ├─suggestion: Replace '(Name...)' with '(KeyboardShortcuts.Name...)' for 'static func disable(_ names: KeyboardShortcuts.Name...)'
| ╰─suggestion: Replace '(Name...)' with '([KeyboardShortcuts.Name])' for 'static func disable(_ names: [KeyboardShortcuts.Name])'
218 | */
219 | public static func isEnabled(for name: Name) -> Bool {
warning: '(Name...)' isn't a disambiguation for 'enable(_:)' at '/KeyboardShortcuts/KeyboardShortcuts'
--> Sources/KeyboardShortcuts/KeyboardShortcuts.swift:217:55-217:65
215 | ```
216 |
217 + - Tip: Use ``disable(_:)-(Name...)`` and ``enable(_:)-(Name...)`` to change the status.
| ├─suggestion: Replace '(Name...)' with '(KeyboardShortcuts.Name...)' for 'static func enable(_ names: KeyboardShortcuts.Name...)'
| ╰─suggestion: Replace '(Name...)' with '([KeyboardShortcuts.Name])' for 'static func enable(_ names: [KeyboardShortcuts.Name])'
218 | */
219 | public static func isEnabled(for name: Name) -> Bool {
Finished building documentation for 'KeyboardShortcuts' (0.64s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/sindresorhus/keyboardshortcuts/2.4.0
Fetching https://github.com/swiftlang/swift-docc-plugin from cache
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (0.69s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.5 (3.09s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit from cache
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.81s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.41s)
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.4.5
Building for debugging...
[0/8] Write sources
[1/8] Write snippet-extract-tool-entitlement.plist
[1/8] Write sources
[4/8] Write swift-version-2F0A5646E1D333AE.txt
[6/53] Emitting module SymbolKit
[7/57] Compiling SymbolKit GenericConstraint.swift
[8/57] Compiling SymbolKit GenericParameter.swift
[9/57] Compiling SymbolKit Generics.swift
[10/57] Compiling SymbolKit Namespace.swift
[11/57] Compiling SymbolKit Names.swift
[12/57] Compiling SymbolKit SPI.swift
[13/57] Compiling SymbolKit Snippet.swift
[14/57] Compiling SymbolKit Extension.swift
[15/57] Compiling Snippets Snippet.swift
[16/57] Compiling Snippets SnippetParser.swift
[17/57] Emitting module Snippets
[18/57] Compiling SymbolKit Relationship.swift
[19/57] Compiling SymbolKit RelationshipKind.swift
[20/57] Compiling SymbolKit SourceOrigin.swift
[21/57] Compiling SymbolKit GenericConstraints.swift
[22/57] Compiling SymbolKit Swift.swift
[23/57] Compiling SymbolKit SourceRange.swift
[24/57] Compiling SymbolKit Metadata.swift
[25/57] Compiling SymbolKit Module.swift
[26/57] Compiling SymbolKit OperatingSystem.swift
[27/57] Compiling SymbolKit Platform.swift
[28/57] Compiling SymbolKit Symbol.swift
[29/57] Compiling SymbolKit SymbolKind.swift
[30/57] Compiling SymbolKit SymbolGraph.swift
[31/57] Compiling SymbolKit GraphCollector.swift
[32/57] Compiling SymbolKit SemanticVersion.swift
[33/57] Compiling SymbolKit AccessControl.swift
[34/57] Compiling SymbolKit Availability.swift
[35/57] Compiling SymbolKit AvailabilityItem.swift
[36/57] Compiling SymbolKit Domain.swift
[37/57] Compiling SymbolKit Identifier.swift
[38/57] Compiling SymbolKit KindIdentifier.swift
[39/57] Compiling SymbolKit Location.swift
[40/57] Compiling SymbolKit Mutability.swift
[41/57] Compiling SymbolKit Mixin+Equals.swift
[42/57] Compiling SymbolKit Mixin+Hash.swift
[43/57] Compiling SymbolKit Mixin.swift
[44/57] Compiling SymbolKit LineList.swift
[45/57] Compiling SymbolKit Position.swift
[46/57] Compiling SymbolKit DeclarationFragments.swift
[47/57] Compiling SymbolKit Fragment.swift
[48/57] Compiling SymbolKit FragmentKind.swift
[49/57] Compiling SymbolKit FunctionParameter.swift
[50/57] Compiling SymbolKit FunctionSignature.swift
[51/57] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[52/57] Compiling SymbolKit UnifiedSymbol.swift
[53/57] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[54/57] Compiling SymbolKit UnifiedSymbolGraph.swift
[55/61] Compiling snippet_extract URL+Status.swift
[56/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[57/61] Emitting module snippet_extract
[58/61] Compiling snippet_extract SnippetBuildCommand.swift
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (3.94s)
Building for debugging...
[0/1] Write swift-version-2F0A5646E1D333AE.txt
[2/12] Compiling KeyboardShortcuts ViewModifiers.swift
[3/12] Compiling KeyboardShortcuts Utilities.swift
[4/12] Compiling KeyboardShortcuts Shortcut.swift
[5/13] Compiling KeyboardShortcuts Name.swift
[6/13] Compiling KeyboardShortcuts NSMenuItem++.swift
[7/13] Compiling KeyboardShortcuts Recorder.swift
[8/13] Compiling KeyboardShortcuts KeyboardShortcuts.swift
[9/13] Compiling KeyboardShortcuts CarbonKeyboardShortcuts.swift
[10/13] Compiling KeyboardShortcuts Key.swift
[11/13] Compiling KeyboardShortcuts RecorderCocoa.swift
[12/13] Emitting module KeyboardShortcuts
[13/13] Compiling KeyboardShortcuts resource_bundle_accessor.swift
Build of target: 'KeyboardShortcuts' complete! (2.16s)
1874
15 /Users/admin/builder/spi-builder-workspace/.docs/sindresorhus/keyboardshortcuts/2.4.0
✅ Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/sindresorhus/keyboardshortcuts/2.4.0
File count: 1874
Doc size: 15.0MB
Preparing doc bundle ...
Uploading prod-sindresorhus-keyboardshortcuts-2.4.0-43a20fad.zip to s3://spi-docs-inbox/prod-sindresorhus-keyboardshortcuts-2.4.0-43a20fad.zip
Copying... [12%]
Copying... [21%]
Copying... [31%]
Copying... [40%]
Copying... [52%]
Copying... [61%]
Copying... [71%]
Copying... [80%]
Copying... [92%]
Copying... [100%]
Done.