Build Information
Successful build of ActionsKit, reference master (f0864e
), with Swift 6.1 for macOS (SPM) on 24 Apr 2025 10:55:35 UTC.
Swift 6 data race errors: 5
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 InferSendableFromCaptures
Build Log
========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/elegantchaos/ActionsKit.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/elegantchaos/ActionsKit
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at f0864e1 added license
Cloned https://github.com/elegantchaos/ActionsKit.git
Revision (git rev-parse @):
f0864e1e7203d4d3bea713581cffb7f3359fbdc9
SUCCESS checkout https://github.com/elegantchaos/ActionsKit.git at master
Fetching https://github.com/elegantchaos/Logger
Fetching https://github.com/elegantchaos/Localization
Fetching https://github.com/elegantchaos/Actions
[1/961] Fetching actions
[59/3012] Fetching actions, logger
[80/3122] Fetching actions, logger, localization
Fetched https://github.com/elegantchaos/Localization from cache (0.94s)
Fetched https://github.com/elegantchaos/Actions from cache (0.94s)
Fetched https://github.com/elegantchaos/Logger from cache (0.94s)
Computing version for https://github.com/elegantchaos/Localization
Computed https://github.com/elegantchaos/Localization at 1.0.3 (1.55s)
Computing version for https://github.com/elegantchaos/Logger
Computed https://github.com/elegantchaos/Logger at 1.5.3 (0.59s)
Computing version for https://github.com/elegantchaos/Actions
Computed https://github.com/elegantchaos/Actions at 1.5.1 (0.58s)
Creating working copy for https://github.com/elegantchaos/Logger
Working copy of https://github.com/elegantchaos/Logger resolved at 1.5.3
Creating working copy for https://github.com/elegantchaos/Localization
Working copy of https://github.com/elegantchaos/Localization resolved at 1.0.3
Creating working copy for https://github.com/elegantchaos/Actions
Working copy of https://github.com/elegantchaos/Actions resolved at 1.5.1
========================================
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": "actionskit",
"name": "ActionsKit",
"url": "https://github.com/elegantchaos/ActionsKit.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/ActionsKit",
"dependencies": [
{
"identity": "actions",
"name": "Actions",
"url": "https://github.com/elegantchaos/Actions",
"version": "1.5.1",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Actions",
"dependencies": [
{
"identity": "logger",
"name": "Logger",
"url": "https://github.com/elegantchaos/Logger",
"version": "1.8.2",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Logger",
"dependencies": [
]
}
]
},
{
"identity": "logger",
"name": "Logger",
"url": "https://github.com/elegantchaos/Logger",
"version": "1.8.2",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Logger",
"dependencies": [
]
},
{
"identity": "localization",
"name": "Localization",
"url": "https://github.com/elegantchaos/Localization",
"version": "1.0.5",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Localization",
"dependencies": [
]
}
]
}
]
}
Fetching https://github.com/elegantchaos/ActionsKit.git
[1/158] Fetching actionskit
Fetched https://github.com/elegantchaos/ActionsKit.git from cache (0.67s)
Fetching https://github.com/elegantchaos/Logger from cache
Fetching https://github.com/elegantchaos/Actions from cache
Fetching https://github.com/elegantchaos/Localization from cache
Fetched https://github.com/elegantchaos/Localization from cache (0.64s)
Fetched https://github.com/elegantchaos/Actions from cache (0.64s)
Fetched https://github.com/elegantchaos/Logger from cache (0.64s)
Computing version for https://github.com/elegantchaos/Actions
Computed https://github.com/elegantchaos/Actions at 1.5.1 (0.69s)
Computing version for https://github.com/elegantchaos/Localization
Computed https://github.com/elegantchaos/Localization at 1.0.5 (0.03s)
Computing version for https://github.com/elegantchaos/Logger
Computed https://github.com/elegantchaos/Logger at 1.8.2 (0.58s)
Creating working copy for https://github.com/elegantchaos/Localization
Working copy of https://github.com/elegantchaos/Localization resolved at 1.0.5
Creating working copy for https://github.com/elegantchaos/ActionsKit.git
Working copy of https://github.com/elegantchaos/ActionsKit.git resolved at master (f0864e1)
Creating working copy for https://github.com/elegantchaos/Actions
Working copy of https://github.com/elegantchaos/Actions resolved at 1.5.1
Creating working copy for https://github.com/elegantchaos/Logger
Working copy of https://github.com/elegantchaos/Logger resolved at 1.8.2
warning: '.resolve-product-dependencies': dependency 'actionskit' is not used by any target
Found 3 product dependencies
- Actions
- Logger
- Localization
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/elegantchaos/ActionsKit.git
https://github.com/elegantchaos/ActionsKit.git
{
"dependencies" : [
{
"identity" : "actions",
"requirement" : {
"range" : [
{
"lower_bound" : "1.5.1",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/elegantchaos/Actions"
},
{
"identity" : "logger",
"requirement" : {
"range" : [
{
"lower_bound" : "1.5.3",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/elegantchaos/Logger"
},
{
"identity" : "localization",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.3",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/elegantchaos/Localization"
}
],
"manifest_display_name" : "ActionsKit",
"name" : "ActionsKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.13"
},
{
"name" : "ios",
"version" : "12.0"
},
{
"name" : "tvos",
"version" : "12.0"
}
],
"products" : [
{
"name" : "ActionsKit",
"targets" : [
"ActionsKit"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "ActionsKitTests",
"module_type" : "SwiftTarget",
"name" : "ActionsKitTests",
"path" : "Tests/ActionsKitTests",
"sources" : [
"ActionsKitTests.swift",
"XCTestManifests.swift"
],
"target_dependencies" : [
"ActionsKit"
],
"type" : "test"
},
{
"c99name" : "ActionsKit",
"module_type" : "SwiftTarget",
"name" : "ActionsKit",
"path" : "Sources/ActionsKit",
"product_dependencies" : [
"Actions",
"Localization",
"Logger",
"LoggerKit"
],
"product_memberships" : [
"ActionsKit"
],
"sources" : [
"ActionManagerMac.swift",
"ActionManagerMobile.swift",
"UICommand+Actions.swift",
"UIMenu+Actions.swift",
"UINavigationController+Actions.swift",
"UIResponder+Actions.swift",
"UIView+Actions.swift",
"UIViewController+Actions.swift"
],
"type" : "library"
}
],
"tools_version" : "5.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/8] Write sources
[5/8] Write swift-version-2F0A5646E1D333AE.txt
[7/18] Compiling Logger PrintHandler.swift
[8/18] Compiling Logger OSLogHandler.swift
[9/18] Compiling Localization Localization.swift
[10/18] Emitting module Localization
[11/18] Compiling Logger Context.swift
[12/18] Compiling Logger Manager.swift
[13/18] Emitting module Logger
[14/18] Compiling Logger Channel.swift
[15/18] Compiling Logger NSLogHandler.swift
[16/18] Compiling Logger Handler.swift
[16/18] Write Objects.LinkFileList
[17/18] Archiving libLocalization.a
[19/35] Compiling Actions DecodableWithContext.swift
[20/36] Compiling Actions ActionSerialisation.swift
[21/36] Compiling Actions ActionNotification.swift
[22/36] Compiling Actions ActionContext.swift
[23/36] Compiling Actions ActionInfo.swift
[24/36] Compiling Actions ActionKey.swift
[25/36] Compiling Actions Action.swift
[26/36] Compiling Actions ActionIdentification.swift
[27/36] Emitting module Actions
[28/36] Compiling Actions ActionManager.swift
[29/36] Compiling Actions DelegatedAction.swift
[30/36] Compiling LoggerKit LoggerSettingsView.swift
[31/36] Compiling LoggerKit LoggerMenuUIKit.swift
[32/36] Compiling LoggerKit LoggerScene.swift
[33/36] Compiling LoggerKit LoggerApplication.swift
[34/36] Compiling LoggerKit ChainableResponder.swift
[35/36] Emitting module LoggerKit
[36/36] Compiling LoggerKit LoggerMenuAppKit.swift
[37/45] Compiling ActionsKit UIViewController+Actions.swift
[38/45] Compiling ActionsKit UIView+Actions.swift
[39/45] Compiling ActionsKit UIResponder+Actions.swift
[40/45] Compiling ActionsKit UINavigationController+Actions.swift
[41/45] Compiling ActionsKit UIMenu+Actions.swift
[42/45] Emitting module ActionsKit
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:13:5: warning: let 'validationChannel' is not concurrency-safe because non-'Sendable' type 'Logger' (aka 'Channel') may have shared mutable state; this is an error in the Swift 6 language mode
11 | import Localization
12 |
13 | let validationChannel = Logger("com.elegantchaos.actions.Validation")
| `- warning: let 'validationChannel' is not concurrency-safe because non-'Sendable' type 'Logger' (aka 'Channel') may have shared mutable state; this is an error in the Swift 6 language mode
14 |
15 | public class ActionManagerMac: ActionManager {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Logger/Sources/Logger/Channel.swift:15:14: note: class 'Channel' does not conform to the 'Sendable' protocol
13 | */
14 |
15 | public class Channel {
| `- note: class 'Channel' does not conform to the 'Sendable' protocol
16 |
17 | /**
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:10:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Logger'
8 | import AppKit
9 | import Actions
10 | import Logger
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Logger'
11 | import Localization
12 |
13 | let validationChannel = Logger("com.elegantchaos.actions.Validation")
| |- note: add '@MainActor' to make let 'validationChannel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 | public class ActionManagerMac: ActionManager {
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:72:16: warning: main actor-isolated default value in a nonisolated context; this is an error in the Swift 6 language mode
70 | */
71 |
72 | public let responder = Responder()
| `- warning: main actor-isolated default value in a nonisolated context; this is an error in the Swift 6 language mode
73 |
74 | /**
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:163:1: warning: extension declares a conformance of imported type 'NSResponder' to imported protocol 'ActionResponder'; this will not behave correctly if the owners of 'AppKit' introduce this conformance in the future
161 | */
162 |
163 | extension NSResponder: ActionResponder {
| |- warning: extension declares a conformance of imported type 'NSResponder' to imported protocol 'ActionResponder'; this will not behave correctly if the owners of 'AppKit' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
164 | public func next() -> ActionResponder? {
165 | return nextResponder
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:164:17: warning: main actor-isolated instance method 'next()' cannot be used to satisfy nonisolated requirement from protocol 'ActionResponder'; this is an error in the Swift 6 language mode
161 | */
162 |
163 | extension NSResponder: ActionResponder {
| `- note: add '@preconcurrency' to the 'ActionResponder' conformance to defer isolation checking to run time
164 | public func next() -> ActionResponder? {
| |- warning: main actor-isolated instance method 'next()' cannot be used to satisfy nonisolated requirement from protocol 'ActionResponder'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'next()' to make this instance method not isolated to the actor
165 | return nextResponder
166 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Actions/Sources/Actions/ActionManager.swift:17:10: note: mark the protocol requirement 'next()' 'async' to allow actor-isolated conformances
15 |
16 | public protocol ActionResponder {
17 | func next() -> ActionResponder?
| `- note: mark the protocol requirement 'next()' 'async' to allow actor-isolated conformances
18 | }
19 |
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:173:1: warning: extension declares a conformance of imported type 'NSView' to imported protocol 'ActionIdentification'; this will not behave correctly if the owners of 'AppKit' introduce this conformance in the future
171 | */
172 |
173 | extension NSView: ActionIdentification {
| |- warning: extension declares a conformance of imported type 'NSView' to imported protocol 'ActionIdentification'; this will not behave correctly if the owners of 'AppKit' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
174 | @objc public var actionID: String {
175 | get { return identifier?.rawValue ?? "" }
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:174:22: warning: main actor-isolated property 'actionID' cannot be used to satisfy nonisolated requirement from protocol 'ActionIdentification'; this is an error in the Swift 6 language mode
171 | */
172 |
173 | extension NSView: ActionIdentification {
| `- note: add '@preconcurrency' to the 'ActionIdentification' conformance to defer isolation checking to run time
174 | @objc public var actionID: String {
| `- warning: main actor-isolated property 'actionID' cannot be used to satisfy nonisolated requirement from protocol 'ActionIdentification'; this is an error in the Swift 6 language mode
175 | get { return identifier?.rawValue ?? "" }
176 | set(value) { identifier = NSUserInterfaceItemIdentifier(rawValue: value) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Actions/Sources/Actions/ActionIdentification.swift:10:15: note: requirement 'actionID' declared here
8 | #if os(macOS) || os(iOS)
9 | @objc public protocol ActionIdentification {
10 | @objc var actionID: String { get set }
| `- note: requirement 'actionID' declared here
11 | }
12 | #else
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:212:1: warning: extension declares a conformance of imported type 'NSToolbarItem' to imported protocol 'ActionIdentification'; this will not behave correctly if the owners of 'AppKit' introduce this conformance in the future
210 | */
211 |
212 | extension NSToolbarItem: ActionIdentification {
| |- warning: extension declares a conformance of imported type 'NSToolbarItem' to imported protocol 'ActionIdentification'; this will not behave correctly if the owners of 'AppKit' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
213 | @objc public var actionID: String {
214 | get { return itemIdentifier.rawValue }
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:213:22: warning: main actor-isolated property 'actionID' cannot be used to satisfy nonisolated requirement from protocol 'ActionIdentification'; this is an error in the Swift 6 language mode
210 | */
211 |
212 | extension NSToolbarItem: ActionIdentification {
| `- note: add '@preconcurrency' to the 'ActionIdentification' conformance to defer isolation checking to run time
213 | @objc public var actionID: String {
| `- warning: main actor-isolated property 'actionID' cannot be used to satisfy nonisolated requirement from protocol 'ActionIdentification'; this is an error in the Swift 6 language mode
214 | get { return itemIdentifier.rawValue }
215 | set(value) { fatalError("can't change toolbar item action id") }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Actions/Sources/Actions/ActionIdentification.swift:10:15: note: requirement 'actionID' declared here
8 | #if os(macOS) || os(iOS)
9 | @objc public protocol ActionIdentification {
10 | @objc var actionID: String { get set }
| `- note: requirement 'actionID' declared here
11 | }
12 | #else
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:223:1: warning: extension declares a conformance of imported type 'NSMenuItem' to imported protocol 'ActionIdentification'; this will not behave correctly if the owners of 'AppKit' introduce this conformance in the future
221 | */
222 |
223 | extension NSMenuItem: ActionIdentification {
| |- warning: extension declares a conformance of imported type 'NSMenuItem' to imported protocol 'ActionIdentification'; this will not behave correctly if the owners of 'AppKit' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
224 | @objc public var actionID: String {
225 | get { return identifier?.rawValue ?? "" }
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:234:1: warning: extension declares a conformance of imported type 'NSMenuItem' to imported protocol 'ActionContextProvider'; this will not behave correctly if the owners of 'AppKit' introduce this conformance in the future
232 | */
233 |
234 | extension NSMenuItem: ActionContextProvider {
| |- warning: extension declares a conformance of imported type 'NSMenuItem' to imported protocol 'ActionContextProvider'; this will not behave correctly if the owners of 'AppKit' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
235 | public func provide(context: ActionContext) {
236 | context[.object] = representedObject
[43/45] Compiling ActionsKit ActionManagerMac.swift
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:13:5: warning: let 'validationChannel' is not concurrency-safe because non-'Sendable' type 'Logger' (aka 'Channel') may have shared mutable state; this is an error in the Swift 6 language mode
11 | import Localization
12 |
13 | let validationChannel = Logger("com.elegantchaos.actions.Validation")
| `- warning: let 'validationChannel' is not concurrency-safe because non-'Sendable' type 'Logger' (aka 'Channel') may have shared mutable state; this is an error in the Swift 6 language mode
14 |
15 | public class ActionManagerMac: ActionManager {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Logger/Sources/Logger/Channel.swift:15:14: note: class 'Channel' does not conform to the 'Sendable' protocol
13 | */
14 |
15 | public class Channel {
| `- note: class 'Channel' does not conform to the 'Sendable' protocol
16 |
17 | /**
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:10:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Logger'
8 | import AppKit
9 | import Actions
10 | import Logger
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Logger'
11 | import Localization
12 |
13 | let validationChannel = Logger("com.elegantchaos.actions.Validation")
| |- note: add '@MainActor' to make let 'validationChannel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 | public class ActionManagerMac: ActionManager {
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:72:16: warning: main actor-isolated default value in a nonisolated context; this is an error in the Swift 6 language mode
70 | */
71 |
72 | public let responder = Responder()
| `- warning: main actor-isolated default value in a nonisolated context; this is an error in the Swift 6 language mode
73 |
74 | /**
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:163:1: warning: extension declares a conformance of imported type 'NSResponder' to imported protocol 'ActionResponder'; this will not behave correctly if the owners of 'AppKit' introduce this conformance in the future
161 | */
162 |
163 | extension NSResponder: ActionResponder {
| |- warning: extension declares a conformance of imported type 'NSResponder' to imported protocol 'ActionResponder'; this will not behave correctly if the owners of 'AppKit' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
164 | public func next() -> ActionResponder? {
165 | return nextResponder
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:164:17: warning: main actor-isolated instance method 'next()' cannot be used to satisfy nonisolated requirement from protocol 'ActionResponder'; this is an error in the Swift 6 language mode
161 | */
162 |
163 | extension NSResponder: ActionResponder {
| `- note: add '@preconcurrency' to the 'ActionResponder' conformance to defer isolation checking to run time
164 | public func next() -> ActionResponder? {
| |- warning: main actor-isolated instance method 'next()' cannot be used to satisfy nonisolated requirement from protocol 'ActionResponder'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'next()' to make this instance method not isolated to the actor
165 | return nextResponder
166 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Actions/Sources/Actions/ActionManager.swift:17:10: note: mark the protocol requirement 'next()' 'async' to allow actor-isolated conformances
15 |
16 | public protocol ActionResponder {
17 | func next() -> ActionResponder?
| `- note: mark the protocol requirement 'next()' 'async' to allow actor-isolated conformances
18 | }
19 |
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:173:1: warning: extension declares a conformance of imported type 'NSView' to imported protocol 'ActionIdentification'; this will not behave correctly if the owners of 'AppKit' introduce this conformance in the future
171 | */
172 |
173 | extension NSView: ActionIdentification {
| |- warning: extension declares a conformance of imported type 'NSView' to imported protocol 'ActionIdentification'; this will not behave correctly if the owners of 'AppKit' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
174 | @objc public var actionID: String {
175 | get { return identifier?.rawValue ?? "" }
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:174:22: warning: main actor-isolated property 'actionID' cannot be used to satisfy nonisolated requirement from protocol 'ActionIdentification'; this is an error in the Swift 6 language mode
171 | */
172 |
173 | extension NSView: ActionIdentification {
| `- note: add '@preconcurrency' to the 'ActionIdentification' conformance to defer isolation checking to run time
174 | @objc public var actionID: String {
| `- warning: main actor-isolated property 'actionID' cannot be used to satisfy nonisolated requirement from protocol 'ActionIdentification'; this is an error in the Swift 6 language mode
175 | get { return identifier?.rawValue ?? "" }
176 | set(value) { identifier = NSUserInterfaceItemIdentifier(rawValue: value) }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Actions/Sources/Actions/ActionIdentification.swift:10:15: note: requirement 'actionID' declared here
8 | #if os(macOS) || os(iOS)
9 | @objc public protocol ActionIdentification {
10 | @objc var actionID: String { get set }
| `- note: requirement 'actionID' declared here
11 | }
12 | #else
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:212:1: warning: extension declares a conformance of imported type 'NSToolbarItem' to imported protocol 'ActionIdentification'; this will not behave correctly if the owners of 'AppKit' introduce this conformance in the future
210 | */
211 |
212 | extension NSToolbarItem: ActionIdentification {
| |- warning: extension declares a conformance of imported type 'NSToolbarItem' to imported protocol 'ActionIdentification'; this will not behave correctly if the owners of 'AppKit' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
213 | @objc public var actionID: String {
214 | get { return itemIdentifier.rawValue }
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:213:22: warning: main actor-isolated property 'actionID' cannot be used to satisfy nonisolated requirement from protocol 'ActionIdentification'; this is an error in the Swift 6 language mode
210 | */
211 |
212 | extension NSToolbarItem: ActionIdentification {
| `- note: add '@preconcurrency' to the 'ActionIdentification' conformance to defer isolation checking to run time
213 | @objc public var actionID: String {
| `- warning: main actor-isolated property 'actionID' cannot be used to satisfy nonisolated requirement from protocol 'ActionIdentification'; this is an error in the Swift 6 language mode
214 | get { return itemIdentifier.rawValue }
215 | set(value) { fatalError("can't change toolbar item action id") }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Actions/Sources/Actions/ActionIdentification.swift:10:15: note: requirement 'actionID' declared here
8 | #if os(macOS) || os(iOS)
9 | @objc public protocol ActionIdentification {
10 | @objc var actionID: String { get set }
| `- note: requirement 'actionID' declared here
11 | }
12 | #else
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:223:1: warning: extension declares a conformance of imported type 'NSMenuItem' to imported protocol 'ActionIdentification'; this will not behave correctly if the owners of 'AppKit' introduce this conformance in the future
221 | */
222 |
223 | extension NSMenuItem: ActionIdentification {
| |- warning: extension declares a conformance of imported type 'NSMenuItem' to imported protocol 'ActionIdentification'; this will not behave correctly if the owners of 'AppKit' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
224 | @objc public var actionID: String {
225 | get { return identifier?.rawValue ?? "" }
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:234:1: warning: extension declares a conformance of imported type 'NSMenuItem' to imported protocol 'ActionContextProvider'; this will not behave correctly if the owners of 'AppKit' introduce this conformance in the future
232 | */
233 |
234 | extension NSMenuItem: ActionContextProvider {
| |- warning: extension declares a conformance of imported type 'NSMenuItem' to imported protocol 'ActionContextProvider'; this will not behave correctly if the owners of 'AppKit' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
235 | public func provide(context: ActionContext) {
236 | context[.object] = representedObject
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:80:33: warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
78 |
79 | public override func responderChains(for item: Any) -> [ActionResponder] {
80 | let app = NSApplication.shared
| `- warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
81 | let keyWindow = app.keyWindow
82 | let mainWindow = app.mainWindow
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:193:61: note: class property declared here
191 | APPKIT_EXTERN __kindof NSApplication * _Null_unspecified NSApp NS_SWIFT_UI_ACTOR;
192 |
193 | @property (class, readonly, strong) __kindof NSApplication *sharedApplication;
| `- note: class property declared here
194 | @property (nullable, weak) id<NSApplicationDelegate> delegate;
195 |
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:81:29: warning: main actor-isolated property 'keyWindow' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
79 | public override func responderChains(for item: Any) -> [ActionResponder] {
80 | let app = NSApplication.shared
81 | let keyWindow = app.keyWindow
| `- warning: main actor-isolated property 'keyWindow' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
82 | let mainWindow = app.mainWindow
83 | var responders = super.responderChains(for: item)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:202:48: note: property declared here
200 |
201 | @property (nullable, readonly, weak) NSWindow *mainWindow;
202 | @property (nullable, readonly, weak) NSWindow *keyWindow;
| `- note: property declared here
203 | @property (getter=isActive, readonly) BOOL active;
204 | @property (getter=isHidden, readonly) BOOL hidden;
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:82:30: warning: main actor-isolated property 'mainWindow' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
80 | let app = NSApplication.shared
81 | let keyWindow = app.keyWindow
82 | let mainWindow = app.mainWindow
| `- warning: main actor-isolated property 'mainWindow' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
83 | var responders = super.responderChains(for: item)
84 | if let responder = keyWindow?.firstResponder {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:201:48: note: property declared here
199 | - (nullable NSWindow *)windowWithWindowNumber:(NSInteger)windowNum;
200 |
201 | @property (nullable, readonly, weak) NSWindow *mainWindow;
| `- note: property declared here
202 | @property (nullable, readonly, weak) NSWindow *keyWindow;
203 | @property (getter=isActive, readonly) BOOL active;
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:84:39: warning: main actor-isolated property 'firstResponder' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
82 | let mainWindow = app.mainWindow
83 | var responders = super.responderChains(for: item)
84 | if let responder = keyWindow?.firstResponder {
| `- warning: main actor-isolated property 'firstResponder' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
85 | responders.append(responder)
86 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:389:41: note: property declared here
387 | - (BOOL)makeFirstResponder:(nullable NSResponder *)responder;
388 | /* firstResponder is Key Value Observing (KVO) compliant. */
389 | @property (readonly, weak) NSResponder *firstResponder;
| `- note: property declared here
390 |
391 | @property (readonly) NSEventModifierFlags resizeFlags;
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:87:65: warning: main actor-isolated property 'firstResponder' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
85 | responders.append(responder)
86 | }
87 | if keyWindow != mainWindow, let responder = mainWindow?.firstResponder {
| `- warning: main actor-isolated property 'firstResponder' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
88 | responders.append(responder)
89 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:389:41: note: property declared here
387 | - (BOOL)makeFirstResponder:(nullable NSResponder *)responder;
388 | /* firstResponder is Key Value Observing (KVO) compliant. */
389 | @property (readonly, weak) NSResponder *firstResponder;
| `- note: property declared here
390 |
391 | @property (readonly) NSEventModifierFlags resizeFlags;
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:106:48: warning: main actor-isolated property 'delegate' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
104 | public override func providers(for item: Any) -> [ActionContextProvider] {
105 | var result = super.providers(for: item)
106 | if let provider = NSApplication.shared.delegate as? ActionContextProvider {
| `- warning: main actor-isolated property 'delegate' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
107 | result.append(provider)
108 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:194:54: note: property declared here
192 |
193 | @property (class, readonly, strong) __kindof NSApplication *sharedApplication;
194 | @property (nullable, weak) id<NSApplicationDelegate> delegate;
| `- note: property declared here
195 |
196 | - (void)hide:(nullable id)sender;
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:106:41: warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
104 | public override func providers(for item: Any) -> [ActionContextProvider] {
105 | var result = super.providers(for: item)
106 | if let provider = NSApplication.shared.delegate as? ActionContextProvider {
| `- warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
107 | result.append(provider)
108 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:193:61: note: class property declared here
191 | APPKIT_EXTERN __kindof NSApplication * _Null_unspecified NSApp NS_SWIFT_UI_ACTOR;
192 |
193 | @property (class, readonly, strong) __kindof NSApplication *sharedApplication;
| `- note: class property declared here
194 | @property (nullable, weak) id<NSApplicationDelegate> delegate;
195 |
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:118:19: warning: main actor-isolated property 'manager' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
20 |
21 | public class Responder: NSResponder, NSUserInterfaceValidations {
22 | weak var manager: ActionManager! = nil
| `- note: mutation of this property is only permitted within the actor
23 |
24 | /**
:
115 | */
116 |
117 | public func installResponder() {
| `- note: add '@MainActor' to make instance method 'installResponder()' part of global actor 'MainActor'
118 | responder.manager = self
| `- warning: main actor-isolated property 'manager' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
119 | responder.nextResponder = NSApp.nextResponder
120 | NSApp.nextResponder = responder
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:119:19: warning: main actor-isolated property 'nextResponder' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
115 | */
116 |
117 | public func installResponder() {
| `- note: add '@MainActor' to make instance method 'installResponder()' part of global actor 'MainActor'
118 | responder.manager = self
119 | responder.nextResponder = NSApp.nextResponder
| `- warning: main actor-isolated property 'nextResponder' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
120 | NSApp.nextResponder = responder
121 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSResponder.h:26:54: note: mutation of this property is only permitted within the actor
24 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
25 |
26 | @property (nullable, unsafe_unretained) NSResponder *nextResponder;
| `- note: mutation of this property is only permitted within the actor
27 | - (BOOL)tryToPerform:(SEL)action with:(nullable id)object;
28 | - (BOOL)performKeyEquivalent:(NSEvent *)event;
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:119:41: warning: main actor-isolated property 'nextResponder' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
115 | */
116 |
117 | public func installResponder() {
| `- note: add '@MainActor' to make instance method 'installResponder()' part of global actor 'MainActor'
118 | responder.manager = self
119 | responder.nextResponder = NSApp.nextResponder
| `- warning: main actor-isolated property 'nextResponder' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
120 | NSApp.nextResponder = responder
121 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSResponder.h:26:54: note: property declared here
24 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
25 |
26 | @property (nullable, unsafe_unretained) NSResponder *nextResponder;
| `- note: property declared here
27 | - (BOOL)tryToPerform:(SEL)action with:(nullable id)object;
28 | - (BOOL)performKeyEquivalent:(NSEvent *)event;
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:119:35: warning: main actor-isolated var 'NSApp' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
115 | */
116 |
117 | public func installResponder() {
| `- note: add '@MainActor' to make instance method 'installResponder()' part of global actor 'MainActor'
118 | responder.manager = self
119 | responder.nextResponder = NSApp.nextResponder
| `- warning: main actor-isolated var 'NSApp' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
120 | NSApp.nextResponder = responder
121 | }
/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/ActionsKit/ActionManagerMac.swift:120:15: warning: main actor-isolated property 'nextResponder' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
115 | */
116 |
117 | public func installResponder() {
| `- note: add '@MainActor' to make instance method 'installResponder()' part of global actor 'MainActor'
118 | responder.manager = self
119 | responder.nextResponder = NSApp.nextResponder
120 | NSApp.nextResponder = responder
| `- warning: main actor-isolated property 'nextResponder' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
121 | }
122 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSResponder.h:26:54: note: mutation of this property is only permitted within the actor
24 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
25 |
26 | @property (nullable, unsafe_unretained) NSResponder *nextResponder;
| `- note: mutation of this property is only permitted within the actor
27 | - (BOOL)tryToPerform:(SEL)action with:(nullable id)object;
28 | - (BOOL)performKeyEquivalent:(NSEvent *)event;
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:120:9: warning: main actor-isolated var 'NSApp' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
115 | */
116 |
117 | public func installResponder() {
| `- note: add '@MainActor' to make instance method 'installResponder()' part of global actor 'MainActor'
118 | responder.manager = self
119 | responder.nextResponder = NSApp.nextResponder
120 | NSApp.nextResponder = responder
| `- warning: main actor-isolated var 'NSApp' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
121 | }
122 |
/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/ActionsKit/ActionManagerMac.swift:129:14: warning: call to main actor-isolated instance method 'appendValidatableControls(to:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
125 | */
126 |
127 | public func validateControls(of view: NSView) {
| `- note: add '@MainActor' to make instance method 'validateControls(of:)' part of global actor 'MainActor'
128 | var items = [NSControl]()
129 | view.appendValidatableControls(to: &items)
| `- warning: call to main actor-isolated instance method 'appendValidatableControls(to:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
130 | for item in items {
131 | if let button = item as? NSButton, let identifier = item.identifier?.rawValue {
:
191 | */
192 |
193 | public func appendValidatableControls(to items: inout [NSControl]) {
| |- note: calls to instance method 'appendValidatableControls(to:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSResponder'
194 | let selector = ActionManagerMac.Responder.performActionSelector
195 | if let viewItem = self as? NSControl, let identifier = viewItem.identifier?.rawValue {
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:131:70: warning: main actor-isolated property 'identifier' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
125 | */
126 |
127 | public func validateControls(of view: NSView) {
| `- note: add '@MainActor' to make instance method 'validateControls(of:)' part of global actor 'MainActor'
128 | var items = [NSControl]()
129 | view.appendValidatableControls(to: &items)
130 | for item in items {
131 | if let button = item as? NSButton, let identifier = item.identifier?.rawValue {
| `- warning: main actor-isolated property 'identifier' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
132 | let validation = validate(identifier: identifier, info: ActionInfo(sender: button))
133 | button.isEnabled = validation.enabled
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSUserInterfaceItemIdentification.h:26:58: note: property declared here
24 | The slash '/', backslash '\', and colon ':' characters are reserved and should not be used in identifiers.
25 | */
26 | @property (nullable, copy) NSUserInterfaceItemIdentifier identifier;
| `- note: property declared here
27 |
28 | @end
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:133:24: warning: main actor-isolated property 'isEnabled' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
125 | */
126 |
127 | public func validateControls(of view: NSView) {
| `- note: add '@MainActor' to make instance method 'validateControls(of:)' part of global actor 'MainActor'
128 | var items = [NSControl]()
129 | view.appendValidatableControls(to: &items)
:
131 | if let button = item as? NSButton, let identifier = item.identifier?.rawValue {
132 | let validation = validate(identifier: identifier, info: ActionInfo(sender: button))
133 | button.isEnabled = validation.enabled
| `- warning: main actor-isolated property 'isEnabled' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
134 | button.isHidden = !validation.visible
135 | button.title = validation.shortName.localized(with: validation.localizationInfo)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSControl.h:29:35: note: mutation of this property is only permitted within the actor
27 | @property BOOL ignoresMultiClick;
28 | @property (getter=isContinuous) BOOL continuous;
29 | @property (getter=isEnabled) BOOL enabled;
| `- note: mutation of this property is only permitted within the actor
30 | @property BOOL refusesFirstResponder;
31 | @property (getter=isHighlighted) BOOL highlighted API_AVAILABLE(macos(10.10));
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:134:24: warning: main actor-isolated property 'isHidden' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
125 | */
126 |
127 | public func validateControls(of view: NSView) {
| `- note: add '@MainActor' to make instance method 'validateControls(of:)' part of global actor 'MainActor'
128 | var items = [NSControl]()
129 | view.appendValidatableControls(to: &items)
:
132 | let validation = validate(identifier: identifier, info: ActionInfo(sender: button))
133 | button.isEnabled = validation.enabled
134 | button.isHidden = !validation.visible
| `- warning: main actor-isolated property 'isHidden' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
135 | button.title = validation.shortName.localized(with: validation.localizationInfo)
136 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:92:34: note: mutation of this property is only permitted within the actor
90 | - (nullable NSView *)ancestorSharedWithView:(NSView *)view;
91 | @property (nullable, readonly, assign) NSView *opaqueAncestor;
92 | @property (getter=isHidden) BOOL hidden;
| `- note: mutation of this property is only permitted within the actor
93 | @property (getter=isHiddenOrHasHiddenAncestor, readonly) BOOL hiddenOrHasHiddenAncestor;
94 |
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:135:24: warning: main actor-isolated property 'title' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
125 | */
126 |
127 | public func validateControls(of view: NSView) {
| `- note: add '@MainActor' to make instance method 'validateControls(of:)' part of global actor 'MainActor'
128 | var items = [NSControl]()
129 | view.appendValidatableControls(to: &items)
:
133 | button.isEnabled = validation.enabled
134 | button.isHidden = !validation.visible
135 | button.title = validation.shortName.localized(with: validation.localizationInfo)
| `- warning: main actor-isolated property 'title' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
136 | }
137 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSButton.h:75:28: note: mutation of this property is only permitted within the actor
73 |
74 | /*! The title displayed on the button when it’s in an off state, or an empty string if the button does not display a title. By default, a button's title is "Button". */
75 | @property (copy) NSString *title;
| `- note: mutation of this property is only permitted within the actor
76 |
77 | /*! The button's title, expressed as an attributed string. */
/Users/admin/builder/spi-builder-workspace/Sources/ActionsKit/ActionManagerMac.swift:151:13: warning: capture of 'self' with non-sendable type 'ActionManagerMac' in a '@Sendable' closure
13 | let validationChannel = Logger("com.elegantchaos.actions.Validation")
14 |
15 | public class ActionManagerMac: ActionManager {
| `- note: class 'ActionManagerMac' does not conform to the 'Sendable' protocol
16 |
17 | /**
:
149 | // causing the contents of the subview to be validated twice
150 | OperationQueue.main.addOperation {
151 | self.validateControls(of: view)
| `- warning: capture of 'self' with non-sendable type 'ActionManagerMac' in a '@Sendable' closure
152 | }
153 | }
[44/45] Compiling ActionsKit ActionManagerMobile.swift
[45/45] Compiling ActionsKit UICommand+Actions.swift
Build complete! (12.59s)
Build complete.
{
"dependencies" : [
{
"identity" : "actions",
"requirement" : {
"range" : [
{
"lower_bound" : "1.5.1",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/elegantchaos/Actions"
},
{
"identity" : "logger",
"requirement" : {
"range" : [
{
"lower_bound" : "1.5.3",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/elegantchaos/Logger"
},
{
"identity" : "localization",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.3",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/elegantchaos/Localization"
}
],
"manifest_display_name" : "ActionsKit",
"name" : "ActionsKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.13"
},
{
"name" : "ios",
"version" : "12.0"
},
{
"name" : "tvos",
"version" : "12.0"
}
],
"products" : [
{
"name" : "ActionsKit",
"targets" : [
"ActionsKit"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "ActionsKitTests",
"module_type" : "SwiftTarget",
"name" : "ActionsKitTests",
"path" : "Tests/ActionsKitTests",
"sources" : [
"ActionsKitTests.swift",
"XCTestManifests.swift"
],
"target_dependencies" : [
"ActionsKit"
],
"type" : "test"
},
{
"c99name" : "ActionsKit",
"module_type" : "SwiftTarget",
"name" : "ActionsKit",
"path" : "Sources/ActionsKit",
"product_dependencies" : [
"Actions",
"Localization",
"Logger",
"LoggerKit"
],
"product_memberships" : [
"ActionsKit"
],
"sources" : [
"ActionManagerMac.swift",
"ActionManagerMobile.swift",
"UICommand+Actions.swift",
"UIMenu+Actions.swift",
"UINavigationController+Actions.swift",
"UIResponder+Actions.swift",
"UIView+Actions.swift",
"UIViewController+Actions.swift"
],
"type" : "library"
}
],
"tools_version" : "5.1"
}
Done.