Build Information
Successful build of TextEditorPlus, reference main (a74da9), with Swift 6.1 for macOS (SPM) on 4 Dec 2025 18:04:23 UTC.
Swift 6 data race errors: 5
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCapturesBuild Log
========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/jaywcjlove/swiftui-texteditor.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/jaywcjlove/swiftui-texteditor
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at a74da98 doc: Update README.md
Cloned https://github.com/jaywcjlove/swiftui-texteditor.git
Revision (git rev-parse @):
a74da98bfc17b072d384e9088cfb48844a346155
SUCCESS checkout https://github.com/jaywcjlove/swiftui-texteditor.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/jaywcjlove/swiftui-texteditor.git
https://github.com/jaywcjlove/swiftui-texteditor.git
{
"dependencies" : [
{
"identity" : "swift-docc-plugin",
"requirement" : {
"range" : [
{
"lower_bound" : "1.3.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-docc-plugin"
}
],
"manifest_display_name" : "TextEditorPlus",
"name" : "TextEditorPlus",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "11.0"
}
],
"products" : [
{
"name" : "TextEditorPlus",
"targets" : [
"TextEditorPlus"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "TextEditorPlusTests",
"module_type" : "SwiftTarget",
"name" : "TextEditorPlusTests",
"path" : "Tests/TextEditorPlusTests",
"sources" : [
"TextEditorPlusTests.swift"
],
"target_dependencies" : [
"TextEditorPlus"
],
"type" : "test"
},
{
"c99name" : "TextEditorPlus",
"module_type" : "SwiftTarget",
"name" : "TextEditorPlus",
"path" : "Sources/TextEditorPlus",
"product_memberships" : [
"TextEditorPlus"
],
"sources" : [
"Extensions/Coordinator.swift",
"Settings/Font.swift",
"Settings/TextSetting.swift",
"TextEditorPlus.swift"
],
"type" : "library"
}
],
"tools_version" : "5.10"
}
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
[1/1] Compiling plugin Swift-DocC Preview
[2/2] Compiling plugin Swift-DocC
Building for debugging...
[2/4] Write sources
[3/4] Write swift-version-2F0A5646E1D333AE.txt
[5/9] Compiling TextEditorPlus Font.swift
[6/9] Compiling TextEditorPlus Coordinator.swift
/Users/admin/builder/spi-builder-workspace/Sources/TextEditorPlus/Extensions/Coordinator.swift:97:37: warning: capture of 'self' with non-sendable type 'TextEditorPlus.Coordinator?' in a '@Sendable' closure
65 | #endif
66 | #if os(OSX)
67 | public class Coordinator: NSObject, NSTextViewDelegate {
| `- note: class 'Coordinator' does not conform to the 'Sendable' protocol
68 | var parent: TextEditorPlus
69 | var selectedRanges: [NSValue] = []
:
95 | debounceTimer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: false) { [weak self] _ in
96 | DispatchQueue.main.async {
97 | if let parent = self?.parent {
| `- warning: capture of 'self' with non-sendable type 'TextEditorPlus.Coordinator?' in a '@Sendable' closure
98 | if parent.isAttributedTextMode {
99 | if let attributedText = parent.attributedText,
[7/9] Compiling TextEditorPlus TextSetting.swift
/Users/admin/builder/spi-builder-workspace/Sources/TextEditorPlus/Settings/TextSetting.swift:20:16: 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
18 |
19 | fileprivate struct TextViewIsEditable: EnvironmentKey {
20 | static var defaultValue: Bool = true
| |- 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
21 | }
22 | fileprivate struct TextViewInsetPadding: EnvironmentKey {
/Users/admin/builder/spi-builder-workspace/Sources/TextEditorPlus/Settings/TextSetting.swift:23:16: 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
21 | }
22 | fileprivate struct TextViewInsetPadding: EnvironmentKey {
23 | static var defaultValue: CGFloat = 18
| |- 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
24 | }
25 | fileprivate struct TextViewBackgroundColor: EnvironmentKey {
/Users/admin/builder/spi-builder-workspace/Sources/TextEditorPlus/Settings/TextSetting.swift:26:16: 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
24 | }
25 | fileprivate struct TextViewBackgroundColor: EnvironmentKey {
26 | static var defaultValue: ViewColor?
| |- 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
27 | }
28 | fileprivate struct TextViewPlaceholderString: EnvironmentKey {
/Users/admin/builder/spi-builder-workspace/Sources/TextEditorPlus/Settings/TextSetting.swift:29:16: 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
27 | }
28 | fileprivate struct TextViewPlaceholderString: EnvironmentKey {
29 | static var defaultValue: String?
| |- 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
30 | }
31 |
/Users/admin/builder/spi-builder-workspace/Sources/TextEditorPlus/Settings/TextSetting.swift:33:16: 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
31 |
32 | fileprivate struct TextViewAttributedString: EnvironmentKey {
33 | static var defaultValue: (NSMutableAttributedString) -> NSMutableAttributedString? = { _ in nil }
| |- 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
34 | }
35 |
[8/9] Emitting module TextEditorPlus
/Users/admin/builder/spi-builder-workspace/Sources/TextEditorPlus/Settings/TextSetting.swift:20:16: 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
18 |
19 | fileprivate struct TextViewIsEditable: EnvironmentKey {
20 | static var defaultValue: Bool = true
| |- 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
21 | }
22 | fileprivate struct TextViewInsetPadding: EnvironmentKey {
/Users/admin/builder/spi-builder-workspace/Sources/TextEditorPlus/Settings/TextSetting.swift:23:16: 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
21 | }
22 | fileprivate struct TextViewInsetPadding: EnvironmentKey {
23 | static var defaultValue: CGFloat = 18
| |- 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
24 | }
25 | fileprivate struct TextViewBackgroundColor: EnvironmentKey {
/Users/admin/builder/spi-builder-workspace/Sources/TextEditorPlus/Settings/TextSetting.swift:26:16: 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
24 | }
25 | fileprivate struct TextViewBackgroundColor: EnvironmentKey {
26 | static var defaultValue: ViewColor?
| |- 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
27 | }
28 | fileprivate struct TextViewPlaceholderString: EnvironmentKey {
/Users/admin/builder/spi-builder-workspace/Sources/TextEditorPlus/Settings/TextSetting.swift:29:16: 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
27 | }
28 | fileprivate struct TextViewPlaceholderString: EnvironmentKey {
29 | static var defaultValue: String?
| |- 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
30 | }
31 |
/Users/admin/builder/spi-builder-workspace/Sources/TextEditorPlus/Settings/TextSetting.swift:33:16: 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
31 |
32 | fileprivate struct TextViewAttributedString: EnvironmentKey {
33 | static var defaultValue: (NSMutableAttributedString) -> NSMutableAttributedString? = { _ in nil }
| |- 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
34 | }
35 |
[9/9] Compiling TextEditorPlus TextEditorPlus.swift
Build complete! (26.10s)
Fetching https://github.com/apple/swift-docc-plugin
[1/2158] Fetching swift-docc-plugin
Fetched https://github.com/apple/swift-docc-plugin from cache (1.84s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.4.5 (5.04s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit from cache
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.32s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (2.01s)
Creating working copy for https://github.com/apple/swift-docc-plugin
Working copy of https://github.com/apple/swift-docc-plugin resolved at 1.4.5
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Build complete.
{
"dependencies" : [
{
"identity" : "swift-docc-plugin",
"requirement" : {
"range" : [
{
"lower_bound" : "1.3.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-docc-plugin"
}
],
"manifest_display_name" : "TextEditorPlus",
"name" : "TextEditorPlus",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "11.0"
}
],
"products" : [
{
"name" : "TextEditorPlus",
"targets" : [
"TextEditorPlus"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "TextEditorPlusTests",
"module_type" : "SwiftTarget",
"name" : "TextEditorPlusTests",
"path" : "Tests/TextEditorPlusTests",
"sources" : [
"TextEditorPlusTests.swift"
],
"target_dependencies" : [
"TextEditorPlus"
],
"type" : "test"
},
{
"c99name" : "TextEditorPlus",
"module_type" : "SwiftTarget",
"name" : "TextEditorPlus",
"path" : "Sources/TextEditorPlus",
"product_memberships" : [
"TextEditorPlus"
],
"sources" : [
"Extensions/Coordinator.swift",
"Settings/Font.swift",
"Settings/TextSetting.swift",
"TextEditorPlus.swift"
],
"type" : "library"
}
],
"tools_version" : "5.10"
}
Done.