Build Information
Successful build of Validator with Swift 6.0 (beta) for macOS (SPM).
Swift 6 data race errors: 4
Build Command
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/space-code/validator.git
Reference: dev
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/space-code/validator
* branch dev -> FETCH_HEAD
* [new branch] dev -> origin/dev
HEAD is now at 93fd649 Update `CHANGELOG.md` (#12)
Cloned https://github.com/space-code/validator.git
Revision (git rev-parse @):
93fd64941225edcbc846f53c0e740d0124ab8ff5
SUCCESS checkout https://github.com/space-code/validator.git at dev
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $workDir
https://github.com/space-code/validator.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version-6F35C1178C84523A.txt
[4/15] Compiling ValidatorCore IValidator.swift
[5/16] Compiling ValidatorCore PrefixValidationRule.swift
[6/16] Compiling ValidatorCore RegexValidationRule.swift
[7/16] Compiling ValidatorCore SuffixValidationRule.swift
[8/16] Compiling ValidatorCore NonEmptyValidationRule.swift
[9/16] Compiling ValidatorCore ValidationResult+Equatable.swift
[10/16] Compiling ValidatorCore ValidationResult.swift
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorCore/Classes/Extensions/String+IValidationError.swift:8:1: warning: extension declares a conformance of imported type 'String' to imported protocol 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
6 | import Foundation
7 |
8 | extension String: IValidationError {
| |- warning: extension declares a conformance of imported type 'String' to imported protocol 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
9 | public var message: String { self }
10 | }
[11/16] Compiling ValidatorCore String+IValidationError.swift
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorCore/Classes/Extensions/String+IValidationError.swift:8:1: warning: extension declares a conformance of imported type 'String' to imported protocol 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
6 | import Foundation
7 |
8 | extension String: IValidationError {
| |- warning: extension declares a conformance of imported type 'String' to imported protocol 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
9 | public var message: String { self }
10 | }
[12/16] Emitting module ValidatorCore
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorCore/Classes/Extensions/String+IValidationError.swift:8:1: warning: extension declares a conformance of imported type 'String' to imported protocol 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
6 | import Foundation
7 |
8 | extension String: IValidationError {
| |- warning: extension declares a conformance of imported type 'String' to imported protocol 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
9 | public var message: String { self }
10 | }
[13/16] Compiling ValidatorCore IValidationError.swift
[14/16] Compiling ValidatorCore IValidationRule.swift
[15/16] Compiling ValidatorCore LengthValidationRule.swift
[16/16] Compiling ValidatorCore Validator.swift
[17/29] Compiling ValidatorUI IFormFieldManager.swift
[18/30] Compiling ValidatorUI FormField.swift
[19/30] Compiling ValidatorUI IFormField.swift
[20/30] Compiling ValidatorUI FormFieldManager.swift
[21/30] Compiling ValidatorUI UITextField+Validation.swift
[22/30] Compiling ValidatorUI View+Validation.swift
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/SUI/Extensions/View+Validation.swift:11:13: warning: let 'validator' is not concurrency-safe because non-'Sendable' type 'Validator' may have shared mutable state; this is an error in the Swift 6 language mode
9 | import ValidatorCore
10 |
11 | private let validator = Validator()
| `- warning: let 'validator' is not concurrency-safe because non-'Sendable' type 'Validator' may have shared mutable state; this is an error in the Swift 6 language mode
12 |
13 | public extension View {
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorCore/Validator.swift:8:20: note: class 'Validator' does not conform to the 'Sendable' protocol
6 | // MARK: - Validator
7 |
8 | public final class Validator {
| `- note: class 'Validator' does not conform to the 'Sendable' protocol
9 | // MARK: Initialization
10 |
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/SUI/Extensions/View+Validation.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ValidatorCore'
7 |
8 | import SwiftUI
9 | import ValidatorCore
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ValidatorCore'
10 |
11 | private let validator = Validator()
| |- note: annotate 'validator' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |
13 | public extension View {
[23/30] Compiling ValidatorUI View+ValidationModifier.swift
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/SUI/Extensions/View+Validation.swift:11:13: warning: let 'validator' is not concurrency-safe because non-'Sendable' type 'Validator' may have shared mutable state; this is an error in the Swift 6 language mode
9 | import ValidatorCore
10 |
11 | private let validator = Validator()
| `- warning: let 'validator' is not concurrency-safe because non-'Sendable' type 'Validator' may have shared mutable state; this is an error in the Swift 6 language mode
12 |
13 | public extension View {
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorCore/Validator.swift:8:20: note: class 'Validator' does not conform to the 'Sendable' protocol
6 | // MARK: - Validator
7 |
8 | public final class Validator {
| `- note: class 'Validator' does not conform to the 'Sendable' protocol
9 | // MARK: Initialization
10 |
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/SUI/Extensions/View+Validation.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ValidatorCore'
7 |
8 | import SwiftUI
9 | import ValidatorCore
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ValidatorCore'
10 |
11 | private let validator = Validator()
| |- note: annotate 'validator' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |
13 | public extension View {
[24/30] Compiling ValidatorUI FormValidationContainter.swift
[25/30] Compiling ValidatorUI IFormValidationContainer.swift
[26/30] Emitting module ValidatorUI
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/IUIValidatable.swift:41:13: warning: var 'kValidationRules' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
39 | }
40 |
41 | private var kValidationRules: UInt8 = 0
| |- warning: var 'kValidationRules' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'kValidationRules' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'kValidationRules' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 | private var kValidationHandler: UInt8 = 0
43 |
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/IUIValidatable.swift:42:13: warning: var 'kValidationHandler' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
40 |
41 | private var kValidationRules: UInt8 = 0
42 | private var kValidationHandler: UInt8 = 0
| |- warning: var 'kValidationHandler' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'kValidationHandler' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'kValidationHandler' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
43 |
44 | private let validator = Validator()
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/IUIValidatable.swift:44:13: warning: let 'validator' is not concurrency-safe because non-'Sendable' type 'Validator' may have shared mutable state; this is an error in the Swift 6 language mode
42 | private var kValidationHandler: UInt8 = 0
43 |
44 | private let validator = Validator()
| `- warning: let 'validator' is not concurrency-safe because non-'Sendable' type 'Validator' may have shared mutable state; this is an error in the Swift 6 language mode
45 |
46 | public extension IUIValidatable {
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorCore/Validator.swift:8:20: note: class 'Validator' does not conform to the 'Sendable' protocol
6 | // MARK: - Validator
7 |
8 | public final class Validator {
| `- note: class 'Validator' does not conform to the 'Sendable' protocol
9 | // MARK: Initialization
10 |
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/IUIValidatable.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ValidatorCore'
7 |
8 | import Foundation
9 | import ValidatorCore
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ValidatorCore'
10 |
11 | // MARK: - IUIValidatable
:
42 | private var kValidationHandler: UInt8 = 0
43 |
44 | private let validator = Validator()
| |- note: annotate 'validator' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
45 |
46 | public extension IUIValidatable {
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/SUI/Extensions/View+Validation.swift:11:13: warning: let 'validator' is not concurrency-safe because non-'Sendable' type 'Validator' may have shared mutable state; this is an error in the Swift 6 language mode
9 | import ValidatorCore
10 |
11 | private let validator = Validator()
| `- warning: let 'validator' is not concurrency-safe because non-'Sendable' type 'Validator' may have shared mutable state; this is an error in the Swift 6 language mode
12 |
13 | public extension View {
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorCore/Validator.swift:8:20: note: class 'Validator' does not conform to the 'Sendable' protocol
6 | // MARK: - Validator
7 |
8 | public final class Validator {
| `- note: class 'Validator' does not conform to the 'Sendable' protocol
9 | // MARK: Initialization
10 |
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/SUI/Extensions/View+Validation.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ValidatorCore'
7 |
8 | import SwiftUI
9 | import ValidatorCore
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ValidatorCore'
10 |
11 | private let validator = Validator()
| |- note: annotate 'validator' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |
13 | public extension View {
[27/30] Compiling ValidatorUI FormValidationViewModifier.swift
[28/30] Compiling ValidatorUI ValidationViewModifier.swift
[29/30] Compiling ValidatorUI View+EraseToAnyView.swift
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/IUIValidatable.swift:41:13: warning: var 'kValidationRules' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
39 | }
40 |
41 | private var kValidationRules: UInt8 = 0
| |- warning: var 'kValidationRules' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'kValidationRules' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'kValidationRules' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 | private var kValidationHandler: UInt8 = 0
43 |
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/IUIValidatable.swift:42:13: warning: var 'kValidationHandler' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
40 |
41 | private var kValidationRules: UInt8 = 0
42 | private var kValidationHandler: UInt8 = 0
| |- warning: var 'kValidationHandler' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'kValidationHandler' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'kValidationHandler' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
43 |
44 | private let validator = Validator()
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/IUIValidatable.swift:44:13: warning: let 'validator' is not concurrency-safe because non-'Sendable' type 'Validator' may have shared mutable state; this is an error in the Swift 6 language mode
42 | private var kValidationHandler: UInt8 = 0
43 |
44 | private let validator = Validator()
| `- warning: let 'validator' is not concurrency-safe because non-'Sendable' type 'Validator' may have shared mutable state; this is an error in the Swift 6 language mode
45 |
46 | public extension IUIValidatable {
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorCore/Validator.swift:8:20: note: class 'Validator' does not conform to the 'Sendable' protocol
6 | // MARK: - Validator
7 |
8 | public final class Validator {
| `- note: class 'Validator' does not conform to the 'Sendable' protocol
9 | // MARK: Initialization
10 |
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/IUIValidatable.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ValidatorCore'
7 |
8 | import Foundation
9 | import ValidatorCore
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ValidatorCore'
10 |
11 | // MARK: - IUIValidatable
:
42 | private var kValidationHandler: UInt8 = 0
43 |
44 | private let validator = Validator()
| |- note: annotate 'validator' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
45 |
46 | public extension IUIValidatable {
[30/30] Compiling ValidatorUI IUIValidatable.swift
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/IUIValidatable.swift:41:13: warning: var 'kValidationRules' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
39 | }
40 |
41 | private var kValidationRules: UInt8 = 0
| |- warning: var 'kValidationRules' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'kValidationRules' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'kValidationRules' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 | private var kValidationHandler: UInt8 = 0
43 |
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/IUIValidatable.swift:42:13: warning: var 'kValidationHandler' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
40 |
41 | private var kValidationRules: UInt8 = 0
42 | private var kValidationHandler: UInt8 = 0
| |- warning: var 'kValidationHandler' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'kValidationHandler' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'kValidationHandler' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
43 |
44 | private let validator = Validator()
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/IUIValidatable.swift:44:13: warning: let 'validator' is not concurrency-safe because non-'Sendable' type 'Validator' may have shared mutable state; this is an error in the Swift 6 language mode
42 | private var kValidationHandler: UInt8 = 0
43 |
44 | private let validator = Validator()
| `- warning: let 'validator' is not concurrency-safe because non-'Sendable' type 'Validator' may have shared mutable state; this is an error in the Swift 6 language mode
45 |
46 | public extension IUIValidatable {
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorCore/Validator.swift:8:20: note: class 'Validator' does not conform to the 'Sendable' protocol
6 | // MARK: - Validator
7 |
8 | public final class Validator {
| `- note: class 'Validator' does not conform to the 'Sendable' protocol
9 | // MARK: Initialization
10 |
/Users/admin/builder/spi-builder-workspace/Sources/ValidatorUI/Classes/IUIValidatable.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ValidatorCore'
7 |
8 | import Foundation
9 | import ValidatorCore
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ValidatorCore'
10 |
11 | // MARK: - IUIValidatable
:
42 | private var kValidationHandler: UInt8 = 0
43 |
44 | private let validator = Validator()
| |- note: annotate 'validator' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
45 |
46 | public extension IUIValidatable {
Build complete! (39.54s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Validator",
"name" : "Validator",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "16.0"
},
{
"name" : "macos",
"version" : "13.0"
},
{
"name" : "watchos",
"version" : "9.0"
},
{
"name" : "tvos",
"version" : "16.0"
},
{
"name" : "visionos",
"version" : "1.0"
}
],
"products" : [
{
"name" : "ValidatorCore",
"targets" : [
"ValidatorCore"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "ValidatorUI",
"targets" : [
"ValidatorUI"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "ValidatorUITests",
"module_type" : "SwiftTarget",
"name" : "ValidatorUITests",
"path" : "Tests/ValidatorUITests",
"sources" : [
"UnitTests/UITextFieldTests.swift"
],
"target_dependencies" : [
"ValidatorCore",
"ValidatorUI"
],
"type" : "test"
},
{
"c99name" : "ValidatorUI",
"module_type" : "SwiftTarget",
"name" : "ValidatorUI",
"path" : "Sources/ValidatorUI",
"product_memberships" : [
"ValidatorUI"
],
"sources" : [
"Classes/Extensions/View+EraseToAnyView.swift",
"Classes/IUIValidatable.swift",
"Classes/SUI/Extensions/View+Validation.swift",
"Classes/SUI/Extensions/View+ValidationModifier.swift",
"Classes/SUI/Managers/FormField/FormField/FormField.swift",
"Classes/SUI/Managers/FormField/FormField/IFormField.swift",
"Classes/SUI/Managers/FormField/FormFieldManager/FormFieldManager.swift",
"Classes/SUI/Managers/FormField/FormFieldManager/IFormFieldManager.swift",
"Classes/SUI/Managers/FormField/FormValidationContainer/FormValidationContainter.swift",
"Classes/SUI/Managers/FormField/FormValidationContainer/IFormValidationContainer.swift",
"Classes/SUI/ViewModifiers/FormValidationViewModifier.swift",
"Classes/SUI/ViewModifiers/ValidationViewModifier.swift",
"Classes/UIKit/Extensions/UITextField+Validation.swift"
],
"target_dependencies" : [
"ValidatorCore"
],
"type" : "library"
},
{
"c99name" : "ValidatorCoreTests",
"module_type" : "SwiftTarget",
"name" : "ValidatorCoreTests",
"path" : "Tests/ValidatorCoreTests",
"sources" : [
"UnitTests/Rules/LengthValidationRuleTests.swift",
"UnitTests/Rules/NonEmptyValidationRuleTests.swift",
"UnitTests/Rules/PrefixValidationRuleTests.swift",
"UnitTests/Rules/RegexValidationRuleTests.swift",
"UnitTests/Rules/SuffixValidationRuleTests.swift",
"UnitTests/Validator/ValidationResultTests.swift",
"UnitTests/Validator/ValidatorTests.swift"
],
"target_dependencies" : [
"ValidatorCore"
],
"type" : "test"
},
{
"c99name" : "ValidatorCore",
"module_type" : "SwiftTarget",
"name" : "ValidatorCore",
"path" : "Sources/ValidatorCore",
"product_memberships" : [
"ValidatorCore",
"ValidatorUI"
],
"sources" : [
"Classes/Core/Interfaces/IValidationError.swift",
"Classes/Core/Interfaces/IValidationRule.swift",
"Classes/Core/Models/ValidationResult.swift",
"Classes/Extensions/String+IValidationError.swift",
"Classes/Extensions/ValidationResult+Equatable.swift",
"Classes/Rules/LengthValidationRule.swift",
"Classes/Rules/NonEmptyValidationRule.swift",
"Classes/Rules/PrefixValidationRule.swift",
"Classes/Rules/RegexValidationRule.swift",
"Classes/Rules/SuffixValidationRule.swift",
"IValidator.swift",
"Validator.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Done.