Build Information
Successful build of Omnibar, reference master (187bc8
), with Swift 6.1 for macOS (SPM) on 30 Apr 2025 06:49:01 UTC.
Swift 6 data race errors: 0
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.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/CleanCocoa/Omnibar.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/CleanCocoa/Omnibar
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at 187bc89 expose whole OmnibarContentChange.string including the appendix
Cloned https://github.com/CleanCocoa/Omnibar.git
Revision (git rev-parse @):
187bc89eb196382d5bcdf1e5017dc033c331582c
SUCCESS checkout https://github.com/CleanCocoa/Omnibar.git at master
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
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",
"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",
"MoveFromOmnibar.swift",
"NSControl+TextReplaceable.swift",
"NSView+constrainToSuperviewBounds.swift",
"Omnibar.swift",
"OmnibarContent.swift",
"OmnibarContentChange.swift",
"OmnibarContentChangeDelegate.swift",
"OmnibarTextFieldCell.swift",
"String+prefixRange.swift",
"String+removingSubrange.swift",
"TextFieldTextChange.swift",
"TextReplacement.swift"
],
"type" : "library"
}
],
"tools_version" : "5.7"
}
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/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.txt
[3/15] Compiling Omnibar String+removingSubrange.swift
[4/16] Compiling Omnibar TextReplacement.swift
[5/16] Compiling Omnibar TextFieldTextChange.swift
[6/16] Compiling Omnibar OmnibarContentChange.swift
[7/16] Compiling Omnibar OmnibarContentChangeDelegate.swift
[8/16] Compiling Omnibar String+prefixRange.swift
[9/16] Compiling Omnibar OmnibarTextFieldCell.swift
[10/16] Compiling Omnibar ChangeMethod.swift
[11/16] Compiling Omnibar MoveFromOmnibar.swift
[12/16] Compiling Omnibar NSControl+TextReplaceable.swift
/Users/admin/builder/spi-builder-workspace/Sources/Omnibar/NSControl+TextReplaceable.swift:9:38: warning: call to main actor-isolated instance method 'currentEditor()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
4 |
5 | extension TextReplaceable where Self: NSControl {
6 | func replaceText(replacement: TextReplacement) {
| `- note: add '@MainActor' to make instance method 'replaceText(replacement:)' part of global actor 'MainActor'
7 | // Do not set `stringValue` in an active editing session because that "aborts all editing before setting the value." (See docs.)
8 | // Note that `currentEditor()` returns `NSText` for legacy reasons, but: "The field editor is a single NSTextView object that is shared among all the controls in a window for light text-editing needs."
9 | guard let fieldEditor = self.currentEditor() as? NSTextView else {
| `- warning: call to main actor-isolated instance method 'currentEditor()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
10 | self.stringValue = replacement.text
11 | return
AppKit.NSControl.currentEditor:2:22: note: calls to instance method 'currentEditor()' from outside of its actor context are implicitly asynchronous
1 | class NSControl {
2 | @MainActor open func currentEditor() -> NSText?}
| |- note: calls to instance method 'currentEditor()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSView'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Omnibar/NSControl+TextReplaceable.swift:10: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
4 |
5 | extension TextReplaceable where Self: NSControl {
6 | func replaceText(replacement: TextReplacement) {
| `- note: add '@MainActor' to make instance method 'replaceText(replacement:)' part of global actor 'MainActor'
7 | // Do not set `stringValue` in an active editing session because that "aborts all editing before setting the value." (See docs.)
8 | // Note that `currentEditor()` returns `NSText` for legacy reasons, but: "The field editor is a single NSTextView object that is shared among all the controls in a window for light text-editing needs."
9 | guard let fieldEditor = self.currentEditor() as? NSTextView else {
10 | 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
11 | return
12 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSControl.h:36:28: note: mutation of this property is only permitted within the actor
34 |
35 | @property (nullable, copy) id /* id<NSCopying> */ objectValue;
36 | @property (copy) NSString *stringValue;
| `- note: mutation of this property is only permitted within the actor
37 | @property (copy) NSAttributedString *attributedStringValue;
38 | @property int intValue;
/Users/admin/builder/spi-builder-workspace/Sources/Omnibar/NSControl+TextReplaceable.swift:16:21: warning: main actor-isolated property 'string' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
4 |
5 | extension TextReplaceable where Self: NSControl {
6 | func replaceText(replacement: TextReplacement) {
| `- note: add '@MainActor' to make instance method 'replaceText(replacement:)' part of global actor 'MainActor'
7 | // Do not set `stringValue` in an active editing session because that "aborts all editing before setting the value." (See docs.)
8 | // Note that `currentEditor()` returns `NSText` for legacy reasons, but: "The field editor is a single NSTextView object that is shared among all the controls in a window for light text-editing needs."
:
14 | // Set `NSText.string` directly instead to *not* handle this as if the user typed the text.
15 | // (Usually, you will want to perform a change by bracketing it in `shouldChangeText(in:replacementString:)` before, `didChangeText()` after the replacement, and perform the change on `NSTextStorage` directly.)
16 | fieldEditor.string = replacement.text
| `- warning: main actor-isolated property 'string' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
17 | fieldEditor.selectedRange = replacement.selectedRange
18 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSText.h:69:28: note: mutation of this property is only permitted within the actor
67 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
68 |
69 | @property (copy) NSString *string;
| `- note: mutation of this property is only permitted within the actor
70 |
71 | - (void)replaceCharactersInRange:(NSRange)range withString:(NSString *)string;
/Users/admin/builder/spi-builder-workspace/Sources/Omnibar/NSControl+TextReplaceable.swift:17:21: warning: main actor-isolated property 'selectedRange' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
4 |
5 | extension TextReplaceable where Self: NSControl {
6 | func replaceText(replacement: TextReplacement) {
| `- note: add '@MainActor' to make instance method 'replaceText(replacement:)' part of global actor 'MainActor'
7 | // Do not set `stringValue` in an active editing session because that "aborts all editing before setting the value." (See docs.)
8 | // Note that `currentEditor()` returns `NSText` for legacy reasons, but: "The field editor is a single NSTextView object that is shared among all the controls in a window for light text-editing needs."
:
15 | // (Usually, you will want to perform a change by bracketing it in `shouldChangeText(in:replacementString:)` before, `didChangeText()` after the replacement, and perform the change on `NSTextStorage` directly.)
16 | fieldEditor.string = replacement.text
17 | fieldEditor.selectedRange = replacement.selectedRange
| `- warning: main actor-isolated property 'selectedRange' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
18 | }
19 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSText.h:94:19: note: mutation of this property is only permitted within the actor
92 | @property (getter=isRulerVisible, readonly) BOOL rulerVisible;
93 |
94 | @property NSRange selectedRange;
| `- note: mutation of this property is only permitted within the actor
95 |
96 | - (void)scrollRangeToVisible:(NSRange)range;
[13/16] Compiling Omnibar NSView+constrainToSuperviewBounds.swift
/Users/admin/builder/spi-builder-workspace/Sources/Omnibar/NSControl+TextReplaceable.swift:9:38: warning: call to main actor-isolated instance method 'currentEditor()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
4 |
5 | extension TextReplaceable where Self: NSControl {
6 | func replaceText(replacement: TextReplacement) {
| `- note: add '@MainActor' to make instance method 'replaceText(replacement:)' part of global actor 'MainActor'
7 | // Do not set `stringValue` in an active editing session because that "aborts all editing before setting the value." (See docs.)
8 | // Note that `currentEditor()` returns `NSText` for legacy reasons, but: "The field editor is a single NSTextView object that is shared among all the controls in a window for light text-editing needs."
9 | guard let fieldEditor = self.currentEditor() as? NSTextView else {
| `- warning: call to main actor-isolated instance method 'currentEditor()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
10 | self.stringValue = replacement.text
11 | return
AppKit.NSControl.currentEditor:2:22: note: calls to instance method 'currentEditor()' from outside of its actor context are implicitly asynchronous
1 | class NSControl {
2 | @MainActor open func currentEditor() -> NSText?}
| |- note: calls to instance method 'currentEditor()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSView'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Omnibar/NSControl+TextReplaceable.swift:10: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
4 |
5 | extension TextReplaceable where Self: NSControl {
6 | func replaceText(replacement: TextReplacement) {
| `- note: add '@MainActor' to make instance method 'replaceText(replacement:)' part of global actor 'MainActor'
7 | // Do not set `stringValue` in an active editing session because that "aborts all editing before setting the value." (See docs.)
8 | // Note that `currentEditor()` returns `NSText` for legacy reasons, but: "The field editor is a single NSTextView object that is shared among all the controls in a window for light text-editing needs."
9 | guard let fieldEditor = self.currentEditor() as? NSTextView else {
10 | 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
11 | return
12 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSControl.h:36:28: note: mutation of this property is only permitted within the actor
34 |
35 | @property (nullable, copy) id /* id<NSCopying> */ objectValue;
36 | @property (copy) NSString *stringValue;
| `- note: mutation of this property is only permitted within the actor
37 | @property (copy) NSAttributedString *attributedStringValue;
38 | @property int intValue;
/Users/admin/builder/spi-builder-workspace/Sources/Omnibar/NSControl+TextReplaceable.swift:16:21: warning: main actor-isolated property 'string' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
4 |
5 | extension TextReplaceable where Self: NSControl {
6 | func replaceText(replacement: TextReplacement) {
| `- note: add '@MainActor' to make instance method 'replaceText(replacement:)' part of global actor 'MainActor'
7 | // Do not set `stringValue` in an active editing session because that "aborts all editing before setting the value." (See docs.)
8 | // Note that `currentEditor()` returns `NSText` for legacy reasons, but: "The field editor is a single NSTextView object that is shared among all the controls in a window for light text-editing needs."
:
14 | // Set `NSText.string` directly instead to *not* handle this as if the user typed the text.
15 | // (Usually, you will want to perform a change by bracketing it in `shouldChangeText(in:replacementString:)` before, `didChangeText()` after the replacement, and perform the change on `NSTextStorage` directly.)
16 | fieldEditor.string = replacement.text
| `- warning: main actor-isolated property 'string' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
17 | fieldEditor.selectedRange = replacement.selectedRange
18 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSText.h:69:28: note: mutation of this property is only permitted within the actor
67 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
68 |
69 | @property (copy) NSString *string;
| `- note: mutation of this property is only permitted within the actor
70 |
71 | - (void)replaceCharactersInRange:(NSRange)range withString:(NSString *)string;
/Users/admin/builder/spi-builder-workspace/Sources/Omnibar/NSControl+TextReplaceable.swift:17:21: warning: main actor-isolated property 'selectedRange' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
4 |
5 | extension TextReplaceable where Self: NSControl {
6 | func replaceText(replacement: TextReplacement) {
| `- note: add '@MainActor' to make instance method 'replaceText(replacement:)' part of global actor 'MainActor'
7 | // Do not set `stringValue` in an active editing session because that "aborts all editing before setting the value." (See docs.)
8 | // Note that `currentEditor()` returns `NSText` for legacy reasons, but: "The field editor is a single NSTextView object that is shared among all the controls in a window for light text-editing needs."
:
15 | // (Usually, you will want to perform a change by bracketing it in `shouldChangeText(in:replacementString:)` before, `didChangeText()` after the replacement, and perform the change on `NSTextStorage` directly.)
16 | fieldEditor.string = replacement.text
17 | fieldEditor.selectedRange = replacement.selectedRange
| `- warning: main actor-isolated property 'selectedRange' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
18 | }
19 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSText.h:94:19: note: mutation of this property is only permitted within the actor
92 | @property (getter=isRulerVisible, readonly) BOOL rulerVisible;
93 |
94 | @property NSRange selectedRange;
| `- note: mutation of this property is only permitted within the actor
95 |
96 | - (void)scrollRangeToVisible:(NSRange)range;
[14/16] Emitting module Omnibar
[15/16] Compiling Omnibar Omnibar.swift
/Users/admin/builder/spi-builder-workspace/Sources/Omnibar/Omnibar.swift:113: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
111 |
112 | deinit {
113 | 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
114 | NotificationCenter.default.removeObserver(subscription)
115 | }
[16/16] Compiling Omnibar OmnibarContent.swift
/Users/admin/builder/spi-builder-workspace/Sources/Omnibar/Omnibar.swift:113: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
111 |
112 | deinit {
113 | 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
114 | NotificationCenter.default.removeObserver(subscription)
115 | }
Build complete! (6.84s)
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",
"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",
"MoveFromOmnibar.swift",
"NSControl+TextReplaceable.swift",
"NSView+constrainToSuperviewBounds.swift",
"Omnibar.swift",
"OmnibarContent.swift",
"OmnibarContentChange.swift",
"OmnibarContentChangeDelegate.swift",
"OmnibarTextFieldCell.swift",
"String+prefixRange.swift",
"String+removingSubrange.swift",
"TextFieldTextChange.swift",
"TextReplacement.swift"
],
"type" : "library"
}
],
"tools_version" : "5.7"
}
Done.