Build Information
Successful build of Settings, reference main (879ea8
), with Swift 6.1 for macOS (SPM) on 28 Apr 2025 18:45:49 UTC.
Swift 6 data race errors: 9
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/sindresorhus/Settings.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/sindresorhus/Settings
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 879ea83 Meta tweaks
Cloned https://github.com/sindresorhus/Settings.git
Revision (git rev-parse @):
879ea83a7bbc6dbebf62bed8c547f090146372a6
SUCCESS checkout https://github.com/sindresorhus/Settings.git at main
========================================
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": "settings",
"name": "Settings",
"url": "https://github.com/sindresorhus/Settings.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Settings",
"dependencies": [
]
}
]
}
Fetching https://github.com/sindresorhus/Settings.git
[1/2338] Fetching settings
Fetched https://github.com/sindresorhus/Settings.git from cache (1.18s)
Creating working copy for https://github.com/sindresorhus/Settings.git
Working copy of https://github.com/sindresorhus/Settings.git resolved at main (879ea83)
warning: '.resolve-product-dependencies': dependency 'settings' 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/Settings.git
https://github.com/sindresorhus/Settings.git
{
"default_localization" : "en",
"dependencies" : [
],
"manifest_display_name" : "Settings",
"name" : "Settings",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.13"
}
],
"products" : [
{
"name" : "Settings",
"targets" : [
"Settings"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "Settings",
"module_type" : "SwiftTarget",
"name" : "Settings",
"path" : "Sources/Settings",
"product_memberships" : [
"Settings"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/Settings/Resources/Localizable.xcstrings",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Container.swift",
"Pane.swift",
"Section.swift",
"SegmentedControlStyleViewController.swift",
"Settings.swift",
"SettingsPane.swift",
"SettingsStyleController.swift",
"SettingsTabViewController.swift",
"SettingsWindowController.swift",
"Style.swift",
"ToolbarItemStyleViewController.swift",
"Utilities.swift"
],
"type" : "library"
}
],
"tools_version" : "5.8"
}
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/4] Write sources
[1/4] Copying Info.plist
[1/4] Copying Localizable.xcstrings
[3/4] Write swift-version-2F0A5646E1D333AE.txt
[5/17] Compiling Settings Settings.swift
[6/17] Compiling Settings SettingsPane.swift
[7/17] Compiling Settings Style.swift
[8/17] Compiling Settings SettingsTabViewController.swift
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SettingsTabViewController.swift:59:7: warning: main actor-isolated instance method 'activateTab(paneIdentifier:animated:)' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleControllerDelegate'; this is an error in the Swift 6 language mode
1 | import Cocoa
2 |
3 | final class SettingsTabViewController: NSViewController, SettingsStyleControllerDelegate {
| `- note: add '@preconcurrency' to the 'SettingsStyleControllerDelegate' conformance to defer isolation checking to run time
4 | private var activeTab: Int?
5 | private var panes = [SettingsPane]()
:
57 | }
58 |
59 | func activateTab(paneIdentifier: Settings.PaneIdentifier, animated: Bool) {
| |- warning: main actor-isolated instance method 'activateTab(paneIdentifier:animated:)' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleControllerDelegate'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'activateTab(paneIdentifier:animated:)' to make this instance method not isolated to the actor
60 | guard let index = (panes.firstIndex { $0.paneIdentifier == paneIdentifier }) else {
61 | return activateTab(index: 0, animated: animated)
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SettingsStyleController.swift:13:7: note: mark the protocol requirement 'activateTab(paneIdentifier:animated:)' 'async' to allow actor-isolated conformances
11 |
12 | protocol SettingsStyleControllerDelegate: AnyObject {
13 | func activateTab(paneIdentifier: Settings.PaneIdentifier, animated: Bool)
| `- note: mark the protocol requirement 'activateTab(paneIdentifier:animated:)' 'async' to allow actor-isolated conformances
14 | func activateTab(index: Int, animated: Bool)
15 | }
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SettingsTabViewController.swift:67:7: warning: main actor-isolated instance method 'activateTab(index:animated:)' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleControllerDelegate'; this is an error in the Swift 6 language mode
65 | }
66 |
67 | func activateTab(index: Int, animated: Bool) {
| |- warning: main actor-isolated instance method 'activateTab(index:animated:)' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleControllerDelegate'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'activateTab(index:animated:)' to make this instance method not isolated to the actor
68 | defer {
69 | activeTab = index
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SettingsStyleController.swift:14:7: note: mark the protocol requirement 'activateTab(index:animated:)' 'async' to allow actor-isolated conformances
12 | protocol SettingsStyleControllerDelegate: AnyObject {
13 | func activateTab(paneIdentifier: Settings.PaneIdentifier, animated: Bool)
14 | func activateTab(index: Int, animated: Bool)
| `- note: mark the protocol requirement 'activateTab(index:animated:)' 'async' to allow actor-isolated conformances
15 | }
16 |
[9/17] Compiling Settings ToolbarItemStyleViewController.swift
/Users/admin/builder/spi-builder-workspace/Sources/Settings/ToolbarItemStyleViewController.swift:25:39: warning: main actor-isolated property 'toolbarItemIdentifier' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
15 | }
16 |
17 | func toolbarItemIdentifiers() -> [NSToolbarItem.Identifier] {
| `- note: add '@MainActor' to make instance method 'toolbarItemIdentifiers()' part of global actor 'MainActor'
18 | var toolbarItemIdentifiers = [NSToolbarItem.Identifier]()
19 |
:
23 |
24 | for pane in panes {
25 | toolbarItemIdentifiers.append(pane.toolbarItemIdentifier)
| `- warning: main actor-isolated property 'toolbarItemIdentifier' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
26 | }
27 |
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SettingsPane.swift:20:13: note: property declared here
18 |
19 | extension SettingsPane {
20 | public var toolbarItemIdentifier: NSToolbarItem.Identifier {
| `- note: property declared here
21 | paneIdentifier.toolbarItemIdentifier
22 | }
/Users/admin/builder/spi-builder-workspace/Sources/Settings/ToolbarItemStyleViewController.swift:36:38: warning: main actor-isolated property 'paneIdentifier' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
34 |
35 | func toolbarItem(paneIdentifier: Settings.PaneIdentifier) -> NSToolbarItem? {
36 | guard let pane = (panes.first { $0.paneIdentifier == paneIdentifier }) else {
| `- warning: main actor-isolated property 'paneIdentifier' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
37 | preconditionFailure()
38 | }
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SettingsPane.swift:14:6: note: property declared here
12 |
13 | public protocol SettingsPane: NSViewController {
14 | var paneIdentifier: Settings.PaneIdentifier { get }
| `- note: property declared here
15 | var paneTitle: String { get }
16 | var toolbarItemIcon: NSImage { get }
/Users/admin/builder/spi-builder-workspace/Sources/Settings/ToolbarItemStyleViewController.swift:40:21: warning: call to main actor-isolated initializer 'init(itemIdentifier:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
33 | }
34 |
35 | func toolbarItem(paneIdentifier: Settings.PaneIdentifier) -> NSToolbarItem? {
| `- note: add '@MainActor' to make instance method 'toolbarItem(paneIdentifier:)' part of global actor 'MainActor'
36 | guard let pane = (panes.first { $0.paneIdentifier == paneIdentifier }) else {
37 | preconditionFailure()
38 | }
39 |
40 | let toolbarItem = NSToolbarItem(itemIdentifier: paneIdentifier.toolbarItemIdentifier)
| `- warning: call to main actor-isolated initializer 'init(itemIdentifier:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
41 | toolbarItem.label = pane.paneTitle
42 | toolbarItem.image = pane.toolbarItemIcon
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSToolbarItem.h:39:1: note: calls to initializer 'init(itemIdentifier:)' from outside of its actor context are implicitly asynchronous
37 | Initialize the toolbar item with an identifier which is a development language string used by the toolbar and its delegate for identification purposes.
38 | */
39 | - (instancetype)initWithItemIdentifier:(NSToolbarItemIdentifier)itemIdentifier NS_DESIGNATED_INITIALIZER;
| `- note: calls to initializer 'init(itemIdentifier:)' from outside of its actor context are implicitly asynchronous
40 | @property (readonly, copy) NSToolbarItemIdentifier itemIdentifier;
41 |
/Users/admin/builder/spi-builder-workspace/Sources/Settings/ToolbarItemStyleViewController.swift:41:15: warning: main actor-isolated property 'label' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
33 | }
34 |
35 | func toolbarItem(paneIdentifier: Settings.PaneIdentifier) -> NSToolbarItem? {
| `- note: add '@MainActor' to make instance method 'toolbarItem(paneIdentifier:)' part of global actor 'MainActor'
36 | guard let pane = (panes.first { $0.paneIdentifier == paneIdentifier }) else {
37 | preconditionFailure()
:
39 |
40 | let toolbarItem = NSToolbarItem(itemIdentifier: paneIdentifier.toolbarItemIdentifier)
41 | toolbarItem.label = pane.paneTitle
| `- warning: main actor-isolated property 'label' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
42 | toolbarItem.image = pane.toolbarItemIcon
43 | toolbarItem.target = self
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSToolbarItem.h:55:28: note: mutation of this property is only permitted within the actor
53 | Also, developers should make sure the length of the label is appropriate and not too long.
54 | */
55 | @property (copy) NSString *label;
| `- note: mutation of this property is only permitted within the actor
56 |
57 | /**
/Users/admin/builder/spi-builder-workspace/Sources/Settings/ToolbarItemStyleViewController.swift:41:28: warning: main actor-isolated property 'paneTitle' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
33 | }
34 |
35 | func toolbarItem(paneIdentifier: Settings.PaneIdentifier) -> NSToolbarItem? {
| `- note: add '@MainActor' to make instance method 'toolbarItem(paneIdentifier:)' part of global actor 'MainActor'
36 | guard let pane = (panes.first { $0.paneIdentifier == paneIdentifier }) else {
37 | preconditionFailure()
:
39 |
40 | let toolbarItem = NSToolbarItem(itemIdentifier: paneIdentifier.toolbarItemIdentifier)
41 | toolbarItem.label = pane.paneTitle
| `- warning: main actor-isolated property 'paneTitle' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
42 | toolbarItem.image = pane.toolbarItemIcon
43 | toolbarItem.target = self
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SettingsPane.swift:15:6: note: property declared here
13 | public protocol SettingsPane: NSViewController {
14 | var paneIdentifier: Settings.PaneIdentifier { get }
15 | var paneTitle: String { get }
| `- note: property declared here
16 | var toolbarItemIcon: NSImage { get }
17 | }
/Users/admin/builder/spi-builder-workspace/Sources/Settings/ToolbarItemStyleViewController.swift:42:15: warning: main actor-isolated property 'image' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
33 | }
34 |
35 | func toolbarItem(paneIdentifier: Settings.PaneIdentifier) -> NSToolbarItem? {
| `- note: add '@MainActor' to make instance method 'toolbarItem(paneIdentifier:)' part of global actor 'MainActor'
36 | guard let pane = (panes.first { $0.paneIdentifier == paneIdentifier }) else {
37 | preconditionFailure()
:
40 | let toolbarItem = NSToolbarItem(itemIdentifier: paneIdentifier.toolbarItemIdentifier)
41 | toolbarItem.label = pane.paneTitle
42 | toolbarItem.image = pane.toolbarItemIcon
| `- warning: main actor-isolated property 'image' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
43 | toolbarItem.target = self
44 | toolbarItem.action = #selector(toolbarItemSelected)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSToolbarItem.h:113:39: note: mutation of this property is only permitted within the actor
111 | */
112 | #if !TARGET_OS_IPHONE
113 | @property (nullable, strong) NSImage *image;
| `- note: mutation of this property is only permitted within the actor
114 | #else
115 | @property (nullable, strong) UIImage *image API_AVAILABLE(ios(13.0));
/Users/admin/builder/spi-builder-workspace/Sources/Settings/ToolbarItemStyleViewController.swift:42:28: warning: main actor-isolated property 'toolbarItemIcon' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
33 | }
34 |
35 | func toolbarItem(paneIdentifier: Settings.PaneIdentifier) -> NSToolbarItem? {
| `- note: add '@MainActor' to make instance method 'toolbarItem(paneIdentifier:)' part of global actor 'MainActor'
36 | guard let pane = (panes.first { $0.paneIdentifier == paneIdentifier }) else {
37 | preconditionFailure()
:
40 | let toolbarItem = NSToolbarItem(itemIdentifier: paneIdentifier.toolbarItemIdentifier)
41 | toolbarItem.label = pane.paneTitle
42 | toolbarItem.image = pane.toolbarItemIcon
| `- warning: main actor-isolated property 'toolbarItemIcon' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
43 | toolbarItem.target = self
44 | toolbarItem.action = #selector(toolbarItemSelected)
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SettingsPane.swift:16:6: note: property declared here
14 | var paneIdentifier: Settings.PaneIdentifier { get }
15 | var paneTitle: String { get }
16 | var toolbarItemIcon: NSImage { get }
| `- note: property declared here
17 | }
18 |
/Users/admin/builder/spi-builder-workspace/Sources/Settings/ToolbarItemStyleViewController.swift:43:15: warning: main actor-isolated property 'target' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
33 | }
34 |
35 | func toolbarItem(paneIdentifier: Settings.PaneIdentifier) -> NSToolbarItem? {
| `- note: add '@MainActor' to make instance method 'toolbarItem(paneIdentifier:)' part of global actor 'MainActor'
36 | guard let pane = (panes.first { $0.paneIdentifier == paneIdentifier }) else {
37 | preconditionFailure()
:
41 | toolbarItem.label = pane.paneTitle
42 | toolbarItem.image = pane.toolbarItemIcon
43 | toolbarItem.target = self
| `- warning: main actor-isolated property 'target' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
44 | toolbarItem.action = #selector(toolbarItemSelected)
45 | return toolbarItem
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSToolbarItem.h:94:31: note: mutation of this property is only permitted within the actor
92 | Set and get the action of an item. (forwards to `-view` if it responds)
93 | */
94 | @property (nullable, weak) id target;
| `- note: mutation of this property is only permitted within the actor
95 |
96 | /**
/Users/admin/builder/spi-builder-workspace/Sources/Settings/ToolbarItemStyleViewController.swift:44:15: warning: main actor-isolated property 'action' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
33 | }
34 |
35 | func toolbarItem(paneIdentifier: Settings.PaneIdentifier) -> NSToolbarItem? {
| `- note: add '@MainActor' to make instance method 'toolbarItem(paneIdentifier:)' part of global actor 'MainActor'
36 | guard let pane = (panes.first { $0.paneIdentifier == paneIdentifier }) else {
37 | preconditionFailure()
:
42 | toolbarItem.image = pane.toolbarItemIcon
43 | toolbarItem.target = self
44 | toolbarItem.action = #selector(toolbarItemSelected)
| `- warning: main actor-isolated property 'action' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
45 | return toolbarItem
46 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSToolbarItem.h:100:26: note: mutation of this property is only permitted within the actor
98 | For custom views, this method will call `-setAction:` on the view if it responds. (forwards to `-view` if it responds)
99 | */
100 | @property (nullable) SEL action;
| `- note: mutation of this property is only permitted within the actor
101 |
102 | /**
/Users/admin/builder/spi-builder-workspace/Sources/Settings/ToolbarItemStyleViewController.swift:56:11: warning: main actor-isolated property 'selectedItemIdentifier' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
53 | }
54 |
55 | func selectTab(index: Int) {
| `- note: add '@MainActor' to make instance method 'selectTab(index:)' part of global actor 'MainActor'
56 | toolbar.selectedItemIdentifier = panes[index].toolbarItemIdentifier
| `- warning: main actor-isolated property 'selectedItemIdentifier' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
57 | }
58 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSToolbar.h:116:52: note: mutation of this property is only permitted within the actor
114 | This property is key value observable.
115 | */
116 | @property (nullable, copy) NSToolbarItemIdentifier selectedItemIdentifier;
| `- note: mutation of this property is only permitted within the actor
117 |
118 | /**
/Users/admin/builder/spi-builder-workspace/Sources/Settings/ToolbarItemStyleViewController.swift:56:49: warning: main actor-isolated property 'toolbarItemIdentifier' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
53 | }
54 |
55 | func selectTab(index: Int) {
| `- note: add '@MainActor' to make instance method 'selectTab(index:)' part of global actor 'MainActor'
56 | toolbar.selectedItemIdentifier = panes[index].toolbarItemIdentifier
| `- warning: main actor-isolated property 'toolbarItemIdentifier' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
57 | }
58 |
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SettingsPane.swift:20:13: note: property declared here
18 |
19 | extension SettingsPane {
20 | public var toolbarItemIdentifier: NSToolbarItem.Identifier {
| `- note: property declared here
21 | paneIdentifier.toolbarItemIdentifier
22 | }
/Users/admin/builder/spi-builder-workspace/Sources/Settings/ToolbarItemStyleViewController.swift:68:24: warning: main actor-isolated property 'items' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
57 | }
58 |
59 | public func refreshPreviousSelectedItem() {
| `- note: add '@MainActor' to make instance method 'refreshPreviousSelectedItem()' part of global actor 'MainActor'
60 | // On macOS Sonoma, sometimes NSToolbar would preserve the
61 | // visual selected state of previous selected toolbar item during
:
66 | #available(macOS 14, *),
67 | let previousSelectedItemIdentifier,
68 | let index = toolbar.items.firstIndex(where: { $0.itemIdentifier == previousSelectedItemIdentifier })
| `- warning: main actor-isolated property 'items' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
69 | {
70 | toolbar.removeItem(at: index)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSToolbar.h:146:63: note: property declared here
144 | Allows you to access all current items in the toolbar.
145 | */
146 | @property (readonly, copy) NSArray<__kindof NSToolbarItem *> *items;
| `- note: property declared here
147 |
148 | /**
/Users/admin/builder/spi-builder-workspace/Sources/Settings/ToolbarItemStyleViewController.swift:68:53: warning: main actor-isolated property 'itemIdentifier' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
66 | #available(macOS 14, *),
67 | let previousSelectedItemIdentifier,
68 | let index = toolbar.items.firstIndex(where: { $0.itemIdentifier == previousSelectedItemIdentifier })
| `- warning: main actor-isolated property 'itemIdentifier' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
69 | {
70 | toolbar.removeItem(at: index)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSToolbarItem.h:40:52: note: property declared here
38 | */
39 | - (instancetype)initWithItemIdentifier:(NSToolbarItemIdentifier)itemIdentifier NS_DESIGNATED_INITIALIZER;
40 | @property (readonly, copy) NSToolbarItemIdentifier itemIdentifier;
| `- note: property declared here
41 |
42 | /**
/Users/admin/builder/spi-builder-workspace/Sources/Settings/ToolbarItemStyleViewController.swift:70:12: warning: call to main actor-isolated instance method 'removeItem(at:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
57 | }
58 |
59 | public func refreshPreviousSelectedItem() {
| `- note: add '@MainActor' to make instance method 'refreshPreviousSelectedItem()' part of global actor 'MainActor'
60 | // On macOS Sonoma, sometimes NSToolbar would preserve the
61 | // visual selected state of previous selected toolbar item during
:
68 | let index = toolbar.items.firstIndex(where: { $0.itemIdentifier == previousSelectedItemIdentifier })
69 | {
70 | toolbar.removeItem(at: index)
| `- warning: call to main actor-isolated instance method 'removeItem(at:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
71 | toolbar.insertItem(withItemIdentifier: previousSelectedItemIdentifier, at: index)
72 | }
AppKit.NSToolbar.removeItem:2:22: note: calls to instance method 'removeItem(at:)' from outside of its actor context are implicitly asynchronous
1 | class NSToolbar {
2 | @MainActor open func removeItem(at index: Int)}
| `- note: calls to instance method 'removeItem(at:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Settings/ToolbarItemStyleViewController.swift:71:12: warning: call to main actor-isolated instance method 'insertItem(withItemIdentifier:at:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
57 | }
58 |
59 | public func refreshPreviousSelectedItem() {
| `- note: add '@MainActor' to make instance method 'refreshPreviousSelectedItem()' part of global actor 'MainActor'
60 | // On macOS Sonoma, sometimes NSToolbar would preserve the
61 | // visual selected state of previous selected toolbar item during
:
69 | {
70 | toolbar.removeItem(at: index)
71 | toolbar.insertItem(withItemIdentifier: previousSelectedItemIdentifier, at: index)
| `- warning: call to main actor-isolated instance method 'insertItem(withItemIdentifier:at:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
72 | }
73 |
AppKit.NSToolbar.insertItem:2:22: note: calls to instance method 'insertItem(withItemIdentifier:at:)' from outside of its actor context are implicitly asynchronous
1 | class NSToolbar {
2 | @MainActor open func insertItem(withItemIdentifier itemIdentifier: NSToolbarItem.Identifier, at index: Int)}
| `- note: calls to instance method 'insertItem(withItemIdentifier:at:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Settings/ToolbarItemStyleViewController.swift:74:44: warning: main actor-isolated property 'selectedItemIdentifier' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
57 | }
58 |
59 | public func refreshPreviousSelectedItem() {
| `- note: add '@MainActor' to make instance method 'refreshPreviousSelectedItem()' part of global actor 'MainActor'
60 | // On macOS Sonoma, sometimes NSToolbar would preserve the
61 | // visual selected state of previous selected toolbar item during
:
72 | }
73 |
74 | previousSelectedItemIdentifier = toolbar.selectedItemIdentifier
| `- warning: main actor-isolated property 'selectedItemIdentifier' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
75 | }
76 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSToolbar.h:116:52: note: property declared here
114 | This property is key value observable.
115 | */
116 | @property (nullable, copy) NSToolbarItemIdentifier selectedItemIdentifier;
| `- note: property declared here
117 |
118 | /**
[10/17] Compiling Settings Utilities.swift
[11/18] Emitting module Settings
/Users/admin/builder/spi-builder-workspace/Sources/Settings/Pane.swift:42:15: warning: main actor-isolated instance method 'asSettingsPane()' cannot be used to satisfy nonisolated requirement from protocol 'SettingsPaneConvertible'; this is an error in the Swift 6 language mode
10 | Convert `self` to equivalent `SettingsPane`.
11 | */
12 | func asSettingsPane() -> SettingsPane
| `- note: mark the protocol requirement 'asSettingsPane()' 'async' to allow actor-isolated conformances
13 | }
14 |
:
20 | SwiftUI equivalent of the `SettingsPane` protocol.
21 | */
22 | public struct Pane<Content: View>: View, SettingsPaneConvertible {
| `- note: add '@preconcurrency' to the 'SettingsPaneConvertible' conformance to defer isolation checking to run time
23 | let identifier: PaneIdentifier
24 | let title: String
:
40 | public var body: some View { content }
41 |
42 | public func asSettingsPane() -> SettingsPane {
| |- warning: main actor-isolated instance method 'asSettingsPane()' cannot be used to satisfy nonisolated requirement from protocol 'SettingsPaneConvertible'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'asSettingsPane()' to make this instance method not isolated to the actor
43 | PaneHostingController(pane: self)
44 | }
/Users/admin/builder/spi-builder-workspace/Sources/Settings/Section.swift:16:15: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 | typealias Value = Double
15 |
16 | static var defaultValue = 0.0
| |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |
18 | static func reduce(value: inout Double, nextValue: () -> Double) {
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SegmentedControlStyleViewController.swift:21:11: warning: main actor-isolated property 'delegate' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleController'; this is an error in the Swift 6 language mode
9 | }
10 |
11 | final class SegmentedControlStyleViewController: NSViewController, SettingsStyleController {
| `- note: add '@preconcurrency' to the 'SettingsStyleController' conformance to defer isolation checking to run time
12 | var segmentedControl: NSSegmentedControl! {
13 | get { view as? NSSegmentedControl }
:
19 | var isKeepingWindowCentered: Bool { true }
20 |
21 | weak var delegate: SettingsStyleControllerDelegate?
| `- warning: main actor-isolated property 'delegate' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleController'; this is an error in the Swift 6 language mode
22 |
23 | private var panes: [SettingsPane]!
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SettingsStyleController.swift:4:6: note: requirement 'delegate' declared here
2 |
3 | protocol SettingsStyleController: AnyObject {
4 | var delegate: SettingsStyleControllerDelegate? { get set }
| `- note: requirement 'delegate' declared here
5 | var isKeepingWindowCentered: Bool { get }
6 |
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SegmentedControlStyleViewController.swift:19:6: warning: main actor-isolated property 'isKeepingWindowCentered' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleController'; this is an error in the Swift 6 language mode
17 | }
18 |
19 | var isKeepingWindowCentered: Bool { true }
| `- warning: main actor-isolated property 'isKeepingWindowCentered' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleController'; this is an error in the Swift 6 language mode
20 |
21 | weak var delegate: SettingsStyleControllerDelegate?
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SettingsStyleController.swift:5:6: note: requirement 'isKeepingWindowCentered' declared here
3 | protocol SettingsStyleController: AnyObject {
4 | var delegate: SettingsStyleControllerDelegate? { get set }
5 | var isKeepingWindowCentered: Bool { get }
| `- note: requirement 'isKeepingWindowCentered' declared here
6 |
7 | func toolbarItemIdentifiers() -> [NSToolbarItem.Identifier]
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SegmentedControlStyleViewController.swift:100:7: warning: main actor-isolated instance method 'toolbarItemIdentifiers()' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleController'; this is an error in the Swift 6 language mode
98 | }
99 |
100 | func toolbarItemIdentifiers() -> [NSToolbarItem.Identifier] {
| |- warning: main actor-isolated instance method 'toolbarItemIdentifiers()' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleController'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'toolbarItemIdentifiers()' to make this instance method not isolated to the actor
101 | [
102 | .flexibleSpace,
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SettingsStyleController.swift:7:7: note: mark the protocol requirement 'toolbarItemIdentifiers()' 'async' to allow actor-isolated conformances
5 | var isKeepingWindowCentered: Bool { get }
6 |
7 | func toolbarItemIdentifiers() -> [NSToolbarItem.Identifier]
| `- note: mark the protocol requirement 'toolbarItemIdentifiers()' 'async' to allow actor-isolated conformances
8 | func toolbarItem(paneIdentifier: Settings.PaneIdentifier) -> NSToolbarItem?
9 | func selectTab(index: Int)
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SegmentedControlStyleViewController.swift:108:7: warning: main actor-isolated instance method 'toolbarItem(paneIdentifier:)' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleController'; this is an error in the Swift 6 language mode
106 | }
107 |
108 | func toolbarItem(paneIdentifier: Settings.PaneIdentifier) -> NSToolbarItem? {
| |- warning: main actor-isolated instance method 'toolbarItem(paneIdentifier:)' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleController'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'toolbarItem(paneIdentifier:)' to make this instance method not isolated to the actor
109 | let toolbarItemIdentifier = paneIdentifier.toolbarItemIdentifier
110 | precondition(toolbarItemIdentifier == .toolbarSegmentedControlItem)
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SettingsStyleController.swift:8:7: note: mark the protocol requirement 'toolbarItem(paneIdentifier:)' 'async' to allow actor-isolated conformances
6 |
7 | func toolbarItemIdentifiers() -> [NSToolbarItem.Identifier]
8 | func toolbarItem(paneIdentifier: Settings.PaneIdentifier) -> NSToolbarItem?
| `- note: mark the protocol requirement 'toolbarItem(paneIdentifier:)' 'async' to allow actor-isolated conformances
9 | func selectTab(index: Int)
10 | }
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SegmentedControlStyleViewController.swift:96:7: warning: main actor-isolated instance method 'selectTab(index:)' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleController'; this is an error in the Swift 6 language mode
94 | }
95 |
96 | func selectTab(index: Int) {
| |- warning: main actor-isolated instance method 'selectTab(index:)' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleController'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'selectTab(index:)' to make this instance method not isolated to the actor
97 | segmentedControl.selectedSegment = index
98 | }
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SettingsStyleController.swift:9:7: note: mark the protocol requirement 'selectTab(index:)' 'async' to allow actor-isolated conformances
7 | func toolbarItemIdentifiers() -> [NSToolbarItem.Identifier]
8 | func toolbarItem(paneIdentifier: Settings.PaneIdentifier) -> NSToolbarItem?
9 | func selectTab(index: Int)
| `- note: mark the protocol requirement 'selectTab(index:)' 'async' to allow actor-isolated conformances
10 | }
11 |
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SettingsTabViewController.swift:59:7: warning: main actor-isolated instance method 'activateTab(paneIdentifier:animated:)' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleControllerDelegate'; this is an error in the Swift 6 language mode
1 | import Cocoa
2 |
3 | final class SettingsTabViewController: NSViewController, SettingsStyleControllerDelegate {
| `- note: add '@preconcurrency' to the 'SettingsStyleControllerDelegate' conformance to defer isolation checking to run time
4 | private var activeTab: Int?
5 | private var panes = [SettingsPane]()
:
57 | }
58 |
59 | func activateTab(paneIdentifier: Settings.PaneIdentifier, animated: Bool) {
| |- warning: main actor-isolated instance method 'activateTab(paneIdentifier:animated:)' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleControllerDelegate'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'activateTab(paneIdentifier:animated:)' to make this instance method not isolated to the actor
60 | guard let index = (panes.firstIndex { $0.paneIdentifier == paneIdentifier }) else {
61 | return activateTab(index: 0, animated: animated)
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SettingsStyleController.swift:13:7: note: mark the protocol requirement 'activateTab(paneIdentifier:animated:)' 'async' to allow actor-isolated conformances
11 |
12 | protocol SettingsStyleControllerDelegate: AnyObject {
13 | func activateTab(paneIdentifier: Settings.PaneIdentifier, animated: Bool)
| `- note: mark the protocol requirement 'activateTab(paneIdentifier:animated:)' 'async' to allow actor-isolated conformances
14 | func activateTab(index: Int, animated: Bool)
15 | }
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SettingsTabViewController.swift:67:7: warning: main actor-isolated instance method 'activateTab(index:animated:)' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleControllerDelegate'; this is an error in the Swift 6 language mode
65 | }
66 |
67 | func activateTab(index: Int, animated: Bool) {
| |- warning: main actor-isolated instance method 'activateTab(index:animated:)' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleControllerDelegate'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'activateTab(index:animated:)' to make this instance method not isolated to the actor
68 | defer {
69 | activeTab = index
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SettingsStyleController.swift:14:7: note: mark the protocol requirement 'activateTab(index:animated:)' 'async' to allow actor-isolated conformances
12 | protocol SettingsStyleControllerDelegate: AnyObject {
13 | func activateTab(paneIdentifier: Settings.PaneIdentifier, animated: Bool)
14 | func activateTab(index: Int, animated: Bool)
| `- note: mark the protocol requirement 'activateTab(index:animated:)' 'async' to allow actor-isolated conformances
15 | }
16 |
[12/18] Compiling Settings SettingsStyleController.swift
[13/18] Compiling Settings SettingsWindowController.swift
[14/18] Compiling Settings Section.swift
/Users/admin/builder/spi-builder-workspace/Sources/Settings/Section.swift:16:15: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 | typealias Value = Double
15 |
16 | static var defaultValue = 0.0
| |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |
18 | static func reduce(value: inout Double, nextValue: () -> Double) {
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SegmentedControlStyleViewController.swift:21:11: warning: main actor-isolated property 'delegate' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleController'; this is an error in the Swift 6 language mode
9 | }
10 |
11 | final class SegmentedControlStyleViewController: NSViewController, SettingsStyleController {
| `- note: add '@preconcurrency' to the 'SettingsStyleController' conformance to defer isolation checking to run time
12 | var segmentedControl: NSSegmentedControl! {
13 | get { view as? NSSegmentedControl }
:
19 | var isKeepingWindowCentered: Bool { true }
20 |
21 | weak var delegate: SettingsStyleControllerDelegate?
| `- warning: main actor-isolated property 'delegate' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleController'; this is an error in the Swift 6 language mode
22 |
23 | private var panes: [SettingsPane]!
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SettingsStyleController.swift:4:6: note: requirement 'delegate' declared here
2 |
3 | protocol SettingsStyleController: AnyObject {
4 | var delegate: SettingsStyleControllerDelegate? { get set }
| `- note: requirement 'delegate' declared here
5 | var isKeepingWindowCentered: Bool { get }
6 |
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SegmentedControlStyleViewController.swift:19:6: warning: main actor-isolated property 'isKeepingWindowCentered' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleController'; this is an error in the Swift 6 language mode
17 | }
18 |
19 | var isKeepingWindowCentered: Bool { true }
| `- warning: main actor-isolated property 'isKeepingWindowCentered' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleController'; this is an error in the Swift 6 language mode
20 |
21 | weak var delegate: SettingsStyleControllerDelegate?
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SettingsStyleController.swift:5:6: note: requirement 'isKeepingWindowCentered' declared here
3 | protocol SettingsStyleController: AnyObject {
4 | var delegate: SettingsStyleControllerDelegate? { get set }
5 | var isKeepingWindowCentered: Bool { get }
| `- note: requirement 'isKeepingWindowCentered' declared here
6 |
7 | func toolbarItemIdentifiers() -> [NSToolbarItem.Identifier]
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SegmentedControlStyleViewController.swift:100:7: warning: main actor-isolated instance method 'toolbarItemIdentifiers()' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleController'; this is an error in the Swift 6 language mode
98 | }
99 |
100 | func toolbarItemIdentifiers() -> [NSToolbarItem.Identifier] {
| |- warning: main actor-isolated instance method 'toolbarItemIdentifiers()' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleController'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'toolbarItemIdentifiers()' to make this instance method not isolated to the actor
101 | [
102 | .flexibleSpace,
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SettingsStyleController.swift:7:7: note: mark the protocol requirement 'toolbarItemIdentifiers()' 'async' to allow actor-isolated conformances
5 | var isKeepingWindowCentered: Bool { get }
6 |
7 | func toolbarItemIdentifiers() -> [NSToolbarItem.Identifier]
| `- note: mark the protocol requirement 'toolbarItemIdentifiers()' 'async' to allow actor-isolated conformances
8 | func toolbarItem(paneIdentifier: Settings.PaneIdentifier) -> NSToolbarItem?
9 | func selectTab(index: Int)
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SegmentedControlStyleViewController.swift:108:7: warning: main actor-isolated instance method 'toolbarItem(paneIdentifier:)' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleController'; this is an error in the Swift 6 language mode
106 | }
107 |
108 | func toolbarItem(paneIdentifier: Settings.PaneIdentifier) -> NSToolbarItem? {
| |- warning: main actor-isolated instance method 'toolbarItem(paneIdentifier:)' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleController'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'toolbarItem(paneIdentifier:)' to make this instance method not isolated to the actor
109 | let toolbarItemIdentifier = paneIdentifier.toolbarItemIdentifier
110 | precondition(toolbarItemIdentifier == .toolbarSegmentedControlItem)
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SettingsStyleController.swift:8:7: note: mark the protocol requirement 'toolbarItem(paneIdentifier:)' 'async' to allow actor-isolated conformances
6 |
7 | func toolbarItemIdentifiers() -> [NSToolbarItem.Identifier]
8 | func toolbarItem(paneIdentifier: Settings.PaneIdentifier) -> NSToolbarItem?
| `- note: mark the protocol requirement 'toolbarItem(paneIdentifier:)' 'async' to allow actor-isolated conformances
9 | func selectTab(index: Int)
10 | }
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SegmentedControlStyleViewController.swift:96:7: warning: main actor-isolated instance method 'selectTab(index:)' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleController'; this is an error in the Swift 6 language mode
94 | }
95 |
96 | func selectTab(index: Int) {
| |- warning: main actor-isolated instance method 'selectTab(index:)' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleController'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'selectTab(index:)' to make this instance method not isolated to the actor
97 | segmentedControl.selectedSegment = index
98 | }
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SettingsStyleController.swift:9:7: note: mark the protocol requirement 'selectTab(index:)' 'async' to allow actor-isolated conformances
7 | func toolbarItemIdentifiers() -> [NSToolbarItem.Identifier]
8 | func toolbarItem(paneIdentifier: Settings.PaneIdentifier) -> NSToolbarItem?
9 | func selectTab(index: Int)
| `- note: mark the protocol requirement 'selectTab(index:)' 'async' to allow actor-isolated conformances
10 | }
11 |
[15/18] Compiling Settings SegmentedControlStyleViewController.swift
/Users/admin/builder/spi-builder-workspace/Sources/Settings/Section.swift:16:15: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 | typealias Value = Double
15 |
16 | static var defaultValue = 0.0
| |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |
18 | static func reduce(value: inout Double, nextValue: () -> Double) {
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SegmentedControlStyleViewController.swift:21:11: warning: main actor-isolated property 'delegate' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleController'; this is an error in the Swift 6 language mode
9 | }
10 |
11 | final class SegmentedControlStyleViewController: NSViewController, SettingsStyleController {
| `- note: add '@preconcurrency' to the 'SettingsStyleController' conformance to defer isolation checking to run time
12 | var segmentedControl: NSSegmentedControl! {
13 | get { view as? NSSegmentedControl }
:
19 | var isKeepingWindowCentered: Bool { true }
20 |
21 | weak var delegate: SettingsStyleControllerDelegate?
| `- warning: main actor-isolated property 'delegate' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleController'; this is an error in the Swift 6 language mode
22 |
23 | private var panes: [SettingsPane]!
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SettingsStyleController.swift:4:6: note: requirement 'delegate' declared here
2 |
3 | protocol SettingsStyleController: AnyObject {
4 | var delegate: SettingsStyleControllerDelegate? { get set }
| `- note: requirement 'delegate' declared here
5 | var isKeepingWindowCentered: Bool { get }
6 |
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SegmentedControlStyleViewController.swift:19:6: warning: main actor-isolated property 'isKeepingWindowCentered' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleController'; this is an error in the Swift 6 language mode
17 | }
18 |
19 | var isKeepingWindowCentered: Bool { true }
| `- warning: main actor-isolated property 'isKeepingWindowCentered' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleController'; this is an error in the Swift 6 language mode
20 |
21 | weak var delegate: SettingsStyleControllerDelegate?
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SettingsStyleController.swift:5:6: note: requirement 'isKeepingWindowCentered' declared here
3 | protocol SettingsStyleController: AnyObject {
4 | var delegate: SettingsStyleControllerDelegate? { get set }
5 | var isKeepingWindowCentered: Bool { get }
| `- note: requirement 'isKeepingWindowCentered' declared here
6 |
7 | func toolbarItemIdentifiers() -> [NSToolbarItem.Identifier]
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SegmentedControlStyleViewController.swift:100:7: warning: main actor-isolated instance method 'toolbarItemIdentifiers()' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleController'; this is an error in the Swift 6 language mode
98 | }
99 |
100 | func toolbarItemIdentifiers() -> [NSToolbarItem.Identifier] {
| |- warning: main actor-isolated instance method 'toolbarItemIdentifiers()' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleController'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'toolbarItemIdentifiers()' to make this instance method not isolated to the actor
101 | [
102 | .flexibleSpace,
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SettingsStyleController.swift:7:7: note: mark the protocol requirement 'toolbarItemIdentifiers()' 'async' to allow actor-isolated conformances
5 | var isKeepingWindowCentered: Bool { get }
6 |
7 | func toolbarItemIdentifiers() -> [NSToolbarItem.Identifier]
| `- note: mark the protocol requirement 'toolbarItemIdentifiers()' 'async' to allow actor-isolated conformances
8 | func toolbarItem(paneIdentifier: Settings.PaneIdentifier) -> NSToolbarItem?
9 | func selectTab(index: Int)
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SegmentedControlStyleViewController.swift:108:7: warning: main actor-isolated instance method 'toolbarItem(paneIdentifier:)' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleController'; this is an error in the Swift 6 language mode
106 | }
107 |
108 | func toolbarItem(paneIdentifier: Settings.PaneIdentifier) -> NSToolbarItem? {
| |- warning: main actor-isolated instance method 'toolbarItem(paneIdentifier:)' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleController'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'toolbarItem(paneIdentifier:)' to make this instance method not isolated to the actor
109 | let toolbarItemIdentifier = paneIdentifier.toolbarItemIdentifier
110 | precondition(toolbarItemIdentifier == .toolbarSegmentedControlItem)
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SettingsStyleController.swift:8:7: note: mark the protocol requirement 'toolbarItem(paneIdentifier:)' 'async' to allow actor-isolated conformances
6 |
7 | func toolbarItemIdentifiers() -> [NSToolbarItem.Identifier]
8 | func toolbarItem(paneIdentifier: Settings.PaneIdentifier) -> NSToolbarItem?
| `- note: mark the protocol requirement 'toolbarItem(paneIdentifier:)' 'async' to allow actor-isolated conformances
9 | func selectTab(index: Int)
10 | }
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SegmentedControlStyleViewController.swift:96:7: warning: main actor-isolated instance method 'selectTab(index:)' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleController'; this is an error in the Swift 6 language mode
94 | }
95 |
96 | func selectTab(index: Int) {
| |- warning: main actor-isolated instance method 'selectTab(index:)' cannot be used to satisfy nonisolated requirement from protocol 'SettingsStyleController'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'selectTab(index:)' to make this instance method not isolated to the actor
97 | segmentedControl.selectedSegment = index
98 | }
/Users/admin/builder/spi-builder-workspace/Sources/Settings/SettingsStyleController.swift:9:7: note: mark the protocol requirement 'selectTab(index:)' 'async' to allow actor-isolated conformances
7 | func toolbarItemIdentifiers() -> [NSToolbarItem.Identifier]
8 | func toolbarItem(paneIdentifier: Settings.PaneIdentifier) -> NSToolbarItem?
9 | func selectTab(index: Int)
| `- note: mark the protocol requirement 'selectTab(index:)' 'async' to allow actor-isolated conformances
10 | }
11 |
[16/18] Compiling Settings Container.swift
/Users/admin/builder/spi-builder-workspace/Sources/Settings/Container.swift:65:85: warning: main actor-isolated property 'maximumLabelWidth' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
20 | private let contentWidth: Double
21 | private let minimumLabelWidth: Double
22 | @State private var maximumLabelWidth = 0.0
| `- note: property declared here
23 |
24 | /**
:
63 | // Strangely doesn't work without width being specified. Probably because of custom alignment.
64 | .frame(width: contentWidth, height: 20)
65 | .alignmentGuide(.settingsSectionLabel) { $0[.leading] + max(minimumLabelWidth, maximumLabelWidth) }
| `- warning: main actor-isolated property 'maximumLabelWidth' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
66 | }
67 | }
/Users/admin/builder/spi-builder-workspace/Sources/Settings/Pane.swift:42:15: warning: main actor-isolated instance method 'asSettingsPane()' cannot be used to satisfy nonisolated requirement from protocol 'SettingsPaneConvertible'; this is an error in the Swift 6 language mode
10 | Convert `self` to equivalent `SettingsPane`.
11 | */
12 | func asSettingsPane() -> SettingsPane
| `- note: mark the protocol requirement 'asSettingsPane()' 'async' to allow actor-isolated conformances
13 | }
14 |
:
20 | SwiftUI equivalent of the `SettingsPane` protocol.
21 | */
22 | public struct Pane<Content: View>: View, SettingsPaneConvertible {
| `- note: add '@preconcurrency' to the 'SettingsPaneConvertible' conformance to defer isolation checking to run time
23 | let identifier: PaneIdentifier
24 | let title: String
:
40 | public var body: some View { content }
41 |
42 | public func asSettingsPane() -> SettingsPane {
| |- warning: main actor-isolated instance method 'asSettingsPane()' cannot be used to satisfy nonisolated requirement from protocol 'SettingsPaneConvertible'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'asSettingsPane()' to make this instance method not isolated to the actor
43 | PaneHostingController(pane: self)
44 | }
[17/18] Compiling Settings Pane.swift
/Users/admin/builder/spi-builder-workspace/Sources/Settings/Container.swift:65:85: warning: main actor-isolated property 'maximumLabelWidth' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
20 | private let contentWidth: Double
21 | private let minimumLabelWidth: Double
22 | @State private var maximumLabelWidth = 0.0
| `- note: property declared here
23 |
24 | /**
:
63 | // Strangely doesn't work without width being specified. Probably because of custom alignment.
64 | .frame(width: contentWidth, height: 20)
65 | .alignmentGuide(.settingsSectionLabel) { $0[.leading] + max(minimumLabelWidth, maximumLabelWidth) }
| `- warning: main actor-isolated property 'maximumLabelWidth' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
66 | }
67 | }
/Users/admin/builder/spi-builder-workspace/Sources/Settings/Pane.swift:42:15: warning: main actor-isolated instance method 'asSettingsPane()' cannot be used to satisfy nonisolated requirement from protocol 'SettingsPaneConvertible'; this is an error in the Swift 6 language mode
10 | Convert `self` to equivalent `SettingsPane`.
11 | */
12 | func asSettingsPane() -> SettingsPane
| `- note: mark the protocol requirement 'asSettingsPane()' 'async' to allow actor-isolated conformances
13 | }
14 |
:
20 | SwiftUI equivalent of the `SettingsPane` protocol.
21 | */
22 | public struct Pane<Content: View>: View, SettingsPaneConvertible {
| `- note: add '@preconcurrency' to the 'SettingsPaneConvertible' conformance to defer isolation checking to run time
23 | let identifier: PaneIdentifier
24 | let title: String
:
40 | public var body: some View { content }
41 |
42 | public func asSettingsPane() -> SettingsPane {
| |- warning: main actor-isolated instance method 'asSettingsPane()' cannot be used to satisfy nonisolated requirement from protocol 'SettingsPaneConvertible'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'asSettingsPane()' to make this instance method not isolated to the actor
43 | PaneHostingController(pane: self)
44 | }
[18/18] Compiling Settings resource_bundle_accessor.swift
Build complete! (8.29s)
Build complete.
{
"default_localization" : "en",
"dependencies" : [
],
"manifest_display_name" : "Settings",
"name" : "Settings",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.13"
}
],
"products" : [
{
"name" : "Settings",
"targets" : [
"Settings"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "Settings",
"module_type" : "SwiftTarget",
"name" : "Settings",
"path" : "Sources/Settings",
"product_memberships" : [
"Settings"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/Settings/Resources/Localizable.xcstrings",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Container.swift",
"Pane.swift",
"Section.swift",
"SegmentedControlStyleViewController.swift",
"Settings.swift",
"SettingsPane.swift",
"SettingsStyleController.swift",
"SettingsTabViewController.swift",
"SettingsWindowController.swift",
"Style.swift",
"ToolbarItemStyleViewController.swift",
"Utilities.swift"
],
"type" : "library"
}
],
"tools_version" : "5.8"
}
Done.