Build Information
Successful build of Omnibar, reference 1.0.0 (19509e
), with Swift 6.0 for macOS (SPM) on 4 Jan 2025 09:09:23 UTC.
Swift 6 data race errors: 3
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.2.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.60.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/CleanCocoa/Omnibar.git
Reference: 1.0.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/CleanCocoa/Omnibar
* tag 1.0.0 -> FETCH_HEAD
HEAD is now at 19509e2 remove RxOmnibar from package in favor of separate repository
Cloned https://github.com/CleanCocoa/Omnibar.git
Revision (git rev-parse @):
19509e2fd4adcf790c881ddbbf717c3b595d242f
SUCCESS checkout https://github.com/CleanCocoa/Omnibar.git at 1.0.0
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"dependencies": [
{
"identity": "omnibar",
"name": "Omnibar",
"url": "https://github.com/CleanCocoa/Omnibar.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Omnibar",
"dependencies": [
]
}
]
}
Fetching https://github.com/CleanCocoa/Omnibar.git
[1/2260] Fetching omnibar
Fetched https://github.com/CleanCocoa/Omnibar.git from cache (1.20s)
Creating working copy for https://github.com/CleanCocoa/Omnibar.git
Working copy of https://github.com/CleanCocoa/Omnibar.git resolved at 1.0.0 (19509e2)
warning: '.resolve-product-dependencies': dependency 'omnibar' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/CleanCocoa/Omnibar.git
https://github.com/CleanCocoa/Omnibar.git
{
"dependencies" : [
],
"manifest_display_name" : "Omnibar",
"name" : "Omnibar",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.13"
}
],
"products" : [
{
"name" : "Omnibar",
"targets" : [
"Omnibar"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "OmnibarTests",
"module_type" : "SwiftTarget",
"name" : "OmnibarTests",
"path" : "Tests/OmnibarTests",
"sources" : [
"ChangeMethodTests.swift",
"NSRange+EquatableTests.swift",
"NSText+FieldEditorTests.swift",
"OmnibarContentChangeTests.swift",
"OmnibarContentTests.swift",
"OmnibarTests.swift",
"TextFieldTextChangeTests.swift",
"TextReplacementTests.swift"
],
"target_dependencies" : [
"Omnibar"
],
"type" : "test"
},
{
"c99name" : "Omnibar",
"module_type" : "SwiftTarget",
"name" : "Omnibar",
"path" : "Sources/Omnibar",
"product_memberships" : [
"Omnibar"
],
"sources" : [
"ChangeMethod.swift",
"EditableText.swift",
"FieldEditor.swift",
"NSText+FieldEditor.swift",
"NSView+constrainToSuperviewBounds.swift",
"Omnibar.swift",
"OmnibarContent.swift",
"OmnibarContentChange.swift",
"OmnibarDelegate.swift",
"OmnibarTextFieldCell.swift",
"TextFieldTextChange.swift",
"TextReplacement.swift"
],
"type" : "library"
}
],
"tools_version" : "5.7"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.2.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/2] Write sources
[1/2] Write swift-version-5BDAB9E9C0126B9D.txt
[3/14] Compiling Omnibar OmnibarContentChange.swift
[4/14] Compiling Omnibar TextFieldTextChange.swift
[5/14] Compiling Omnibar OmnibarTextFieldCell.swift
[6/15] Compiling Omnibar Omnibar.swift
/Users/admin/builder/spi-builder-workspace/Sources/Omnibar/Omnibar.swift:123:17: warning: main actor-isolated instance method 'display(content:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
119 | // MARK: - Input
120 |
121 | extension Omnibar: DisplaysOmnibarContent {
| `- note: add '@preconcurrency' to the 'DisplaysOmnibarContent' conformance to defer isolation checking to run time
122 |
123 | public func display(content: OmnibarContent) {
| |- warning: main actor-isolated instance method 'display(content:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'display(content:)' to make this instance method not isolated to the actor
124 |
125 | editableText.replace(replacement: TextReplacement(omnibarContent: content))
/Users/admin/builder/spi-builder-workspace/Sources/Omnibar/OmnibarContent.swift:6:10: note: mark the protocol requirement 'display(content:)' 'async' to allow actor-isolated conformances
4 |
5 | public protocol DisplaysOmnibarContent: AnyObject {
6 | func display(content: OmnibarContent)
| `- note: mark the protocol requirement 'display(content:)' 'async' to allow actor-isolated conformances
7 | }
8 |
/Users/admin/builder/spi-builder-workspace/Sources/Omnibar/Omnibar.swift:112:9: warning: cannot access property 'controlTextChangeSubscription' with a non-sendable type 'Any?' from nonisolated deinit; this is an error in the Swift 6 language mode
110 |
111 | deinit {
112 | if let subscription = controlTextChangeSubscription {
| `- warning: cannot access property 'controlTextChangeSubscription' with a non-sendable type 'Any?' from nonisolated deinit; this is an error in the Swift 6 language mode
113 | NotificationCenter.default.removeObserver(subscription)
114 | }
[7/15] Compiling Omnibar OmnibarDelegate.swift
[8/15] Compiling Omnibar OmnibarContent.swift
[9/15] Compiling Omnibar FieldEditor.swift
/Users/admin/builder/spi-builder-workspace/Sources/Omnibar/NSText+FieldEditor.swift:12:10: warning: main actor-isolated instance method 'replaceAllCharacters(with:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
3 | import Cocoa
4 |
5 | extension NSText: FieldEditor {
| `- note: add '@preconcurrency' to the 'FieldEditor' conformance to defer isolation checking to run time
6 |
7 | func selectRange(_ range: NSRange) {
:
10 | }
11 |
12 | func replaceAllCharacters(with string: String) {
| |- warning: main actor-isolated instance method 'replaceAllCharacters(with:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'replaceAllCharacters(with:)' to make this instance method not isolated to the actor
13 |
14 | self.string = string
/Users/admin/builder/spi-builder-workspace/Sources/Omnibar/FieldEditor.swift:6:10: note: mark the protocol requirement 'replaceAllCharacters(with:)' 'async' to allow actor-isolated conformances
4 |
5 | protocol FieldEditor {
6 | func replaceAllCharacters(with string: String)
| `- note: mark the protocol requirement 'replaceAllCharacters(with:)' 'async' to allow actor-isolated conformances
7 | func selectRange(_ range: NSRange)
8 | }
/Users/admin/builder/spi-builder-workspace/Sources/Omnibar/NSText+FieldEditor.swift:7:10: warning: main actor-isolated instance method 'selectRange' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
5 | extension NSText: FieldEditor {
6 |
7 | func selectRange(_ range: NSRange) {
| |- warning: main actor-isolated instance method 'selectRange' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'selectRange' to make this instance method not isolated to the actor
8 |
9 | self.selectedRange = range
/Users/admin/builder/spi-builder-workspace/Sources/Omnibar/FieldEditor.swift:7:10: note: mark the protocol requirement 'selectRange' 'async' to allow actor-isolated conformances
5 | protocol FieldEditor {
6 | func replaceAllCharacters(with string: String)
7 | func selectRange(_ range: NSRange)
| `- note: mark the protocol requirement 'selectRange' 'async' to allow actor-isolated conformances
8 | }
9 |
[10/15] Compiling Omnibar NSText+FieldEditor.swift
/Users/admin/builder/spi-builder-workspace/Sources/Omnibar/NSText+FieldEditor.swift:12:10: warning: main actor-isolated instance method 'replaceAllCharacters(with:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
3 | import Cocoa
4 |
5 | extension NSText: FieldEditor {
| `- note: add '@preconcurrency' to the 'FieldEditor' conformance to defer isolation checking to run time
6 |
7 | func selectRange(_ range: NSRange) {
:
10 | }
11 |
12 | func replaceAllCharacters(with string: String) {
| |- warning: main actor-isolated instance method 'replaceAllCharacters(with:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'replaceAllCharacters(with:)' to make this instance method not isolated to the actor
13 |
14 | self.string = string
/Users/admin/builder/spi-builder-workspace/Sources/Omnibar/FieldEditor.swift:6:10: note: mark the protocol requirement 'replaceAllCharacters(with:)' 'async' to allow actor-isolated conformances
4 |
5 | protocol FieldEditor {
6 | func replaceAllCharacters(with string: String)
| `- note: mark the protocol requirement 'replaceAllCharacters(with:)' 'async' to allow actor-isolated conformances
7 | func selectRange(_ range: NSRange)
8 | }
/Users/admin/builder/spi-builder-workspace/Sources/Omnibar/NSText+FieldEditor.swift:7:10: warning: main actor-isolated instance method 'selectRange' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
5 | extension NSText: FieldEditor {
6 |
7 | func selectRange(_ range: NSRange) {
| |- warning: main actor-isolated instance method 'selectRange' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'selectRange' to make this instance method not isolated to the actor
8 |
9 | self.selectedRange = range
/Users/admin/builder/spi-builder-workspace/Sources/Omnibar/FieldEditor.swift:7:10: note: mark the protocol requirement 'selectRange' 'async' to allow actor-isolated conformances
5 | protocol FieldEditor {
6 | func replaceAllCharacters(with string: String)
7 | func selectRange(_ range: NSRange)
| `- note: mark the protocol requirement 'selectRange' 'async' to allow actor-isolated conformances
8 | }
9 |
[11/15] Compiling Omnibar NSView+constrainToSuperviewBounds.swift
[12/15] Compiling Omnibar ChangeMethod.swift
/Users/admin/builder/spi-builder-workspace/Sources/Omnibar/EditableText.swift:19:21: warning: call to main actor-isolated instance method 'currentEditor()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
16 | extension EditableText where Self: NSControl {
17 |
18 | func fieldEditor() -> FieldEditor? {
| `- note: add '@MainActor' to make instance method 'fieldEditor()' part of global actor 'MainActor'
19 | return self.currentEditor()
| `- warning: call to main actor-isolated instance method 'currentEditor()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
20 | }
21 |
AppKit.NSControl:2:26: note: calls to instance method 'currentEditor()' from outside of its actor context are implicitly asynchronous
1 | extension NSControl {
2 | @MainActor open func currentEditor() -> NSText?
| `- note: calls to instance method 'currentEditor()' from outside of its actor context are implicitly asynchronous
3 | open func abortEditing() -> Bool
4 | open func validateEditing()
/Users/admin/builder/spi-builder-workspace/Sources/Omnibar/EditableText.swift:27:18: warning: main actor-isolated property 'stringValue' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
20 | }
21 |
22 | func replace(replacement: TextReplacement) {
| `- note: add '@MainActor' to make instance method 'replace(replacement:)' part of global actor 'MainActor'
23 |
24 | // Do not set `stringValue` in an active editing session because that
25 | // "aborts all editing before setting the value." (See docs.)
26 | guard let fieldEditor = self.fieldEditor() else {
27 | self.stringValue = replacement.text
| `- warning: main actor-isolated property 'stringValue' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
28 | return
29 | }
AppKit.NSControl:24:25: note: mutation of this property is only permitted within the actor
22 | open var formatter: Formatter? { get set }
23 | open var objectValue: Any? { get set }
24 | @MainActor open var stringValue: String { get set }
| `- note: mutation of this property is only permitted within the actor
25 | @NSCopying open var attributedStringValue: NSAttributedString { get set }
26 | open var intValue: Int32 { get set }
[13/15] Compiling Omnibar EditableText.swift
/Users/admin/builder/spi-builder-workspace/Sources/Omnibar/EditableText.swift:19:21: warning: call to main actor-isolated instance method 'currentEditor()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
16 | extension EditableText where Self: NSControl {
17 |
18 | func fieldEditor() -> FieldEditor? {
| `- note: add '@MainActor' to make instance method 'fieldEditor()' part of global actor 'MainActor'
19 | return self.currentEditor()
| `- warning: call to main actor-isolated instance method 'currentEditor()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
20 | }
21 |
AppKit.NSControl:2:26: note: calls to instance method 'currentEditor()' from outside of its actor context are implicitly asynchronous
1 | extension NSControl {
2 | @MainActor open func currentEditor() -> NSText?
| `- note: calls to instance method 'currentEditor()' from outside of its actor context are implicitly asynchronous
3 | open func abortEditing() -> Bool
4 | open func validateEditing()
/Users/admin/builder/spi-builder-workspace/Sources/Omnibar/EditableText.swift:27:18: warning: main actor-isolated property 'stringValue' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
20 | }
21 |
22 | func replace(replacement: TextReplacement) {
| `- note: add '@MainActor' to make instance method 'replace(replacement:)' part of global actor 'MainActor'
23 |
24 | // Do not set `stringValue` in an active editing session because that
25 | // "aborts all editing before setting the value." (See docs.)
26 | guard let fieldEditor = self.fieldEditor() else {
27 | self.stringValue = replacement.text
| `- warning: main actor-isolated property 'stringValue' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
28 | return
29 | }
AppKit.NSControl:24:25: note: mutation of this property is only permitted within the actor
22 | open var formatter: Formatter? { get set }
23 | open var objectValue: Any? { get set }
24 | @MainActor open var stringValue: String { get set }
| `- note: mutation of this property is only permitted within the actor
25 | @NSCopying open var attributedStringValue: NSAttributedString { get set }
26 | open var intValue: Int32 { get set }
[14/15] Emitting module Omnibar
/Users/admin/builder/spi-builder-workspace/Sources/Omnibar/NSText+FieldEditor.swift:12:10: warning: main actor-isolated instance method 'replaceAllCharacters(with:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
3 | import Cocoa
4 |
5 | extension NSText: FieldEditor {
| `- note: add '@preconcurrency' to the 'FieldEditor' conformance to defer isolation checking to run time
6 |
7 | func selectRange(_ range: NSRange) {
:
10 | }
11 |
12 | func replaceAllCharacters(with string: String) {
| |- warning: main actor-isolated instance method 'replaceAllCharacters(with:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'replaceAllCharacters(with:)' to make this instance method not isolated to the actor
13 |
14 | self.string = string
/Users/admin/builder/spi-builder-workspace/Sources/Omnibar/FieldEditor.swift:6:10: note: mark the protocol requirement 'replaceAllCharacters(with:)' 'async' to allow actor-isolated conformances
4 |
5 | protocol FieldEditor {
6 | func replaceAllCharacters(with string: String)
| `- note: mark the protocol requirement 'replaceAllCharacters(with:)' 'async' to allow actor-isolated conformances
7 | func selectRange(_ range: NSRange)
8 | }
/Users/admin/builder/spi-builder-workspace/Sources/Omnibar/NSText+FieldEditor.swift:7:10: warning: main actor-isolated instance method 'selectRange' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
5 | extension NSText: FieldEditor {
6 |
7 | func selectRange(_ range: NSRange) {
| |- warning: main actor-isolated instance method 'selectRange' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'selectRange' to make this instance method not isolated to the actor
8 |
9 | self.selectedRange = range
/Users/admin/builder/spi-builder-workspace/Sources/Omnibar/FieldEditor.swift:7:10: note: mark the protocol requirement 'selectRange' 'async' to allow actor-isolated conformances
5 | protocol FieldEditor {
6 | func replaceAllCharacters(with string: String)
7 | func selectRange(_ range: NSRange)
| `- note: mark the protocol requirement 'selectRange' 'async' to allow actor-isolated conformances
8 | }
9 |
/Users/admin/builder/spi-builder-workspace/Sources/Omnibar/Omnibar.swift:123:17: warning: main actor-isolated instance method 'display(content:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
119 | // MARK: - Input
120 |
121 | extension Omnibar: DisplaysOmnibarContent {
| `- note: add '@preconcurrency' to the 'DisplaysOmnibarContent' conformance to defer isolation checking to run time
122 |
123 | public func display(content: OmnibarContent) {
| |- warning: main actor-isolated instance method 'display(content:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'display(content:)' to make this instance method not isolated to the actor
124 |
125 | editableText.replace(replacement: TextReplacement(omnibarContent: content))
/Users/admin/builder/spi-builder-workspace/Sources/Omnibar/OmnibarContent.swift:6:10: note: mark the protocol requirement 'display(content:)' 'async' to allow actor-isolated conformances
4 |
5 | public protocol DisplaysOmnibarContent: AnyObject {
6 | func display(content: OmnibarContent)
| `- note: mark the protocol requirement 'display(content:)' 'async' to allow actor-isolated conformances
7 | }
8 |
[15/15] Compiling Omnibar TextReplacement.swift
Build complete! (12.18s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Omnibar",
"name" : "Omnibar",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.13"
}
],
"products" : [
{
"name" : "Omnibar",
"targets" : [
"Omnibar"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "OmnibarTests",
"module_type" : "SwiftTarget",
"name" : "OmnibarTests",
"path" : "Tests/OmnibarTests",
"sources" : [
"ChangeMethodTests.swift",
"NSRange+EquatableTests.swift",
"NSText+FieldEditorTests.swift",
"OmnibarContentChangeTests.swift",
"OmnibarContentTests.swift",
"OmnibarTests.swift",
"TextFieldTextChangeTests.swift",
"TextReplacementTests.swift"
],
"target_dependencies" : [
"Omnibar"
],
"type" : "test"
},
{
"c99name" : "Omnibar",
"module_type" : "SwiftTarget",
"name" : "Omnibar",
"path" : "Sources/Omnibar",
"product_memberships" : [
"Omnibar"
],
"sources" : [
"ChangeMethod.swift",
"EditableText.swift",
"FieldEditor.swift",
"NSText+FieldEditor.swift",
"NSView+constrainToSuperviewBounds.swift",
"Omnibar.swift",
"OmnibarContent.swift",
"OmnibarContentChange.swift",
"OmnibarDelegate.swift",
"OmnibarTextFieldCell.swift",
"TextFieldTextChange.swift",
"TextReplacement.swift"
],
"type" : "library"
}
],
"tools_version" : "5.7"
}
Done.