The Swift Package Index logo.Swift Package Index

Build Information

Successful build of SwiftUIFormValidator, reference 1.2.2 (65b8d1), with Swift 6.1 for macOS (SPM) on 27 Jan 2026 07:00:37 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.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Open-Bytes/SwiftUIFormValidator.git
Reference: 1.2.2
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/Open-Bytes/SwiftUIFormValidator
 * tag               1.2.2      -> FETCH_HEAD
HEAD is now at 65b8d13 Use @MainActor everywhere to address issue 22
Cloned https://github.com/Open-Bytes/SwiftUIFormValidator.git
Revision (git rev-parse @):
65b8d13e278887bc52bfad7d1b1fa855a7d1a87c
SUCCESS checkout https://github.com/Open-Bytes/SwiftUIFormValidator.git at 1.2.2
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/Open-Bytes/SwiftUIFormValidator.git
https://github.com/Open-Bytes/SwiftUIFormValidator.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "SwiftUIFormValidator",
  "name" : "SwiftUIFormValidator",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    }
  ],
  "products" : [
    {
      "name" : "FormValidator",
      "targets" : [
        "FormValidator"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "FormValidator",
      "module_type" : "SwiftTarget",
      "name" : "FormValidator",
      "path" : "Sources",
      "product_memberships" : [
        "FormValidator"
      ],
      "sources" : [
        "ErrorFormatter.swift",
        "Extension/String+OrIfEmpty.swift",
        "Extension/View+EraseToAnyView.swift",
        "FormManager.swift",
        "FormValidator/CompositeValidator.swift",
        "FormValidator/CountValidator.swift",
        "FormValidator/DateValidator.swift",
        "FormValidator/EmailValidator.swift",
        "FormValidator/FormValidator.swift",
        "FormValidator/InlineValidator.swift",
        "FormValidator/NonEmptyValidator.swift",
        "FormValidator/PasswordMatchValidator.swift",
        "FormValidator/PasswordValidator.swift",
        "FormValidator/PatternValidator.swift",
        "FormValidator/PrefixValidator.swift",
        "FormValidator/SuffixValidator.swift",
        "Regex.swift",
        "Validation.swift",
        "ValidationFactory.swift",
        "ValidationModifier.swift",
        "Wrappers/DateFormField.swift",
        "Wrappers/FormField.swift",
        "Wrappers/PasswordFormField.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.1"
}
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/24] Emitting module FormValidator
[4/26] Compiling FormValidator FormField.swift
/Users/admin/builder/spi-builder-workspace/Sources/Wrappers/FormField.swift:49:21: warning: sending 'objectWillChange' risks causing data races; this is an error in the Swift 6 language mode
47 |             {
48 |                 Task { @MainActor in
49 |                     objectWillChange.send()
   |                     |- warning: sending 'objectWillChange' risks causing data races; this is an error in the Swift 6 language mode
   |                     `- note: task-isolated 'objectWillChange' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
50 |                     object[keyPath: storageKeyPath].wrappedValue = newValue
51 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Wrappers/FormField.swift:50:21: warning: sending 'object' risks causing data races; this is an error in the Swift 6 language mode
48 |                 Task { @MainActor in
49 |                     objectWillChange.send()
50 |                     object[keyPath: storageKeyPath].wrappedValue = newValue
   |                     |- warning: sending 'object' risks causing data races; this is an error in the Swift 6 language mode
   |                     `- note: task-isolated 'object' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
51 |                 }
52 |             } else {
/Users/admin/builder/spi-builder-workspace/Sources/Wrappers/FormField.swift:50:37: warning: sending 'storageKeyPath' risks causing data races; this is an error in the Swift 6 language mode
48 |                 Task { @MainActor in
49 |                     objectWillChange.send()
50 |                     object[keyPath: storageKeyPath].wrappedValue = newValue
   |                                     |- warning: sending 'storageKeyPath' risks causing data races; this is an error in the Swift 6 language mode
   |                                     `- note: task-isolated 'storageKeyPath' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
51 |                 }
52 |             } else {
/Users/admin/builder/spi-builder-workspace/Sources/Wrappers/FormField.swift:50:68: warning: sending 'newValue' risks causing data races; this is an error in the Swift 6 language mode
48 |                 Task { @MainActor in
49 |                     objectWillChange.send()
50 |                     object[keyPath: storageKeyPath].wrappedValue = newValue
   |                                                                    |- warning: sending 'newValue' risks causing data races; this is an error in the Swift 6 language mode
   |                                                                    `- note: task-isolated 'newValue' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
51 |                 }
52 |             } else {
[5/26] Compiling FormValidator PasswordFormField.swift
/Users/admin/builder/spi-builder-workspace/Sources/Wrappers/FormField.swift:49:21: warning: sending 'objectWillChange' risks causing data races; this is an error in the Swift 6 language mode
47 |             {
48 |                 Task { @MainActor in
49 |                     objectWillChange.send()
   |                     |- warning: sending 'objectWillChange' risks causing data races; this is an error in the Swift 6 language mode
   |                     `- note: task-isolated 'objectWillChange' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
50 |                     object[keyPath: storageKeyPath].wrappedValue = newValue
51 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Wrappers/FormField.swift:50:21: warning: sending 'object' risks causing data races; this is an error in the Swift 6 language mode
48 |                 Task { @MainActor in
49 |                     objectWillChange.send()
50 |                     object[keyPath: storageKeyPath].wrappedValue = newValue
   |                     |- warning: sending 'object' risks causing data races; this is an error in the Swift 6 language mode
   |                     `- note: task-isolated 'object' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
51 |                 }
52 |             } else {
/Users/admin/builder/spi-builder-workspace/Sources/Wrappers/FormField.swift:50:37: warning: sending 'storageKeyPath' risks causing data races; this is an error in the Swift 6 language mode
48 |                 Task { @MainActor in
49 |                     objectWillChange.send()
50 |                     object[keyPath: storageKeyPath].wrappedValue = newValue
   |                                     |- warning: sending 'storageKeyPath' risks causing data races; this is an error in the Swift 6 language mode
   |                                     `- note: task-isolated 'storageKeyPath' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
51 |                 }
52 |             } else {
/Users/admin/builder/spi-builder-workspace/Sources/Wrappers/FormField.swift:50:68: warning: sending 'newValue' risks causing data races; this is an error in the Swift 6 language mode
48 |                 Task { @MainActor in
49 |                     objectWillChange.send()
50 |                     object[keyPath: storageKeyPath].wrappedValue = newValue
   |                                                                    |- warning: sending 'newValue' risks causing data races; this is an error in the Swift 6 language mode
   |                                                                    `- note: task-isolated 'newValue' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
51 |                 }
52 |             } else {
[6/26] Compiling FormValidator Validation.swift
/Users/admin/builder/spi-builder-workspace/Sources/ValidationFactory.swift:53:21: warning: sending 'validator' risks causing data races; this is an error in the Swift 6 language mode
51 |                 // Use Task to handle state updates
52 |                 Task { @MainActor in
53 |                     validator.valueChanged(validation)
   |                     |- warning: sending 'validator' risks causing data races; this is an error in the Swift 6 language mode
   |                     `- note: task-isolated 'validator' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
54 |
55 |                     if val.value != lastValue, validation != lastValidation {
/Users/admin/builder/spi-builder-workspace/Sources/ValidationFactory.swift:53:44: warning: sending 'validation' risks causing data races; this is an error in the Swift 6 language mode
51 |                 // Use Task to handle state updates
52 |                 Task { @MainActor in
53 |                     validator.valueChanged(validation)
   |                                            |- warning: sending 'validation' risks causing data races; this is an error in the Swift 6 language mode
   |                                            `- note: task-isolated 'validation' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
54 |
55 |                     if val.value != lastValue, validation != lastValidation {
/Users/admin/builder/spi-builder-workspace/Sources/ValidationFactory.swift:55:24: warning: sending 'val' risks causing data races; this is an error in the Swift 6 language mode
53 |                     validator.valueChanged(validation)
54 |
55 |                     if val.value != lastValue, validation != lastValidation {
   |                        |- warning: sending 'val' risks causing data races; this is an error in the Swift 6 language mode
   |                        `- note: task-isolated 'val' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
56 |                         onValidate?(validation)
57 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/ValidationFactory.swift:55:37: warning: sending 'lastValue' risks causing data races; this is an error in the Swift 6 language mode
53 |                     validator.valueChanged(validation)
54 |
55 |                     if val.value != lastValue, validation != lastValidation {
   |                                     |- warning: sending 'lastValue' risks causing data races; this is an error in the Swift 6 language mode
   |                                     `- note: task-isolated 'lastValue' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
56 |                         onValidate?(validation)
57 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/ValidationFactory.swift:55:62: warning: sending 'lastValidation' risks causing data races; this is an error in the Swift 6 language mode
53 |                     validator.valueChanged(validation)
54 |
55 |                     if val.value != lastValue, validation != lastValidation {
   |                                                              |- warning: sending 'lastValidation' risks causing data races; this is an error in the Swift 6 language mode
   |                                                              `- note: task-isolated 'lastValidation' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
56 |                         onValidate?(validation)
57 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/ValidationFactory.swift:56:25: warning: sending 'onValidate' risks causing data races; this is an error in the Swift 6 language mode
54 |
55 |                     if val.value != lastValue, validation != lastValidation {
56 |                         onValidate?(validation)
   |                         |- warning: sending 'onValidate' risks causing data races; this is an error in the Swift 6 language mode
   |                         `- note: task-isolated 'onValidate' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
57 |                     }
58 |                 }
[7/26] Compiling FormValidator ValidationFactory.swift
/Users/admin/builder/spi-builder-workspace/Sources/ValidationFactory.swift:53:21: warning: sending 'validator' risks causing data races; this is an error in the Swift 6 language mode
51 |                 // Use Task to handle state updates
52 |                 Task { @MainActor in
53 |                     validator.valueChanged(validation)
   |                     |- warning: sending 'validator' risks causing data races; this is an error in the Swift 6 language mode
   |                     `- note: task-isolated 'validator' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
54 |
55 |                     if val.value != lastValue, validation != lastValidation {
/Users/admin/builder/spi-builder-workspace/Sources/ValidationFactory.swift:53:44: warning: sending 'validation' risks causing data races; this is an error in the Swift 6 language mode
51 |                 // Use Task to handle state updates
52 |                 Task { @MainActor in
53 |                     validator.valueChanged(validation)
   |                                            |- warning: sending 'validation' risks causing data races; this is an error in the Swift 6 language mode
   |                                            `- note: task-isolated 'validation' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
54 |
55 |                     if val.value != lastValue, validation != lastValidation {
/Users/admin/builder/spi-builder-workspace/Sources/ValidationFactory.swift:55:24: warning: sending 'val' risks causing data races; this is an error in the Swift 6 language mode
53 |                     validator.valueChanged(validation)
54 |
55 |                     if val.value != lastValue, validation != lastValidation {
   |                        |- warning: sending 'val' risks causing data races; this is an error in the Swift 6 language mode
   |                        `- note: task-isolated 'val' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
56 |                         onValidate?(validation)
57 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/ValidationFactory.swift:55:37: warning: sending 'lastValue' risks causing data races; this is an error in the Swift 6 language mode
53 |                     validator.valueChanged(validation)
54 |
55 |                     if val.value != lastValue, validation != lastValidation {
   |                                     |- warning: sending 'lastValue' risks causing data races; this is an error in the Swift 6 language mode
   |                                     `- note: task-isolated 'lastValue' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
56 |                         onValidate?(validation)
57 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/ValidationFactory.swift:55:62: warning: sending 'lastValidation' risks causing data races; this is an error in the Swift 6 language mode
53 |                     validator.valueChanged(validation)
54 |
55 |                     if val.value != lastValue, validation != lastValidation {
   |                                                              |- warning: sending 'lastValidation' risks causing data races; this is an error in the Swift 6 language mode
   |                                                              `- note: task-isolated 'lastValidation' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
56 |                         onValidate?(validation)
57 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/ValidationFactory.swift:56:25: warning: sending 'onValidate' risks causing data races; this is an error in the Swift 6 language mode
54 |
55 |                     if val.value != lastValue, validation != lastValidation {
56 |                         onValidate?(validation)
   |                         |- warning: sending 'onValidate' risks causing data races; this is an error in the Swift 6 language mode
   |                         `- note: task-isolated 'onValidate' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
57 |                     }
58 |                 }
[8/26] Compiling FormValidator InlineValidator.swift
[9/26] Compiling FormValidator NonEmptyValidator.swift
[10/26] Compiling FormValidator DateValidator.swift
[11/26] Compiling FormValidator EmailValidator.swift
[12/26] Compiling FormValidator FormValidator.swift
[13/26] Compiling FormValidator ErrorFormatter.swift
[14/26] Compiling FormValidator String+OrIfEmpty.swift
[15/26] Compiling FormValidator View+EraseToAnyView.swift
[16/26] Compiling FormValidator PatternValidator.swift
[17/26] Compiling FormValidator PrefixValidator.swift
[18/26] Compiling FormValidator PasswordMatchValidator.swift
[19/26] Compiling FormValidator PasswordValidator.swift
[20/26] Compiling FormValidator SuffixValidator.swift
[21/26] Compiling FormValidator Regex.swift
[22/26] Compiling FormValidator FormManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/FormManager.swift:64:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 62 |     private func onChanged(validation: Validation) {
 63 |         Task { @MainActor in
 64 |             allValid = isAllValid()
    |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 65 |             allFilled = isAllFilled()
 66 |             validationMessages = allValidationMessages()
[23/26] Compiling FormValidator CompositeValidator.swift
/Users/admin/builder/spi-builder-workspace/Sources/FormManager.swift:64:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 62 |     private func onChanged(validation: Validation) {
 63 |         Task { @MainActor in
 64 |             allValid = isAllValid()
    |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 65 |             allFilled = isAllFilled()
 66 |             validationMessages = allValidationMessages()
[24/26] Compiling FormValidator CountValidator.swift
/Users/admin/builder/spi-builder-workspace/Sources/FormManager.swift:64:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 62 |     private func onChanged(validation: Validation) {
 63 |         Task { @MainActor in
 64 |             allValid = isAllValid()
    |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 65 |             allFilled = isAllFilled()
 66 |             validationMessages = allValidationMessages()
[25/26] Compiling FormValidator ValidationModifier.swift
[26/26] Compiling FormValidator DateFormField.swift
Build complete! (9.14s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "SwiftUIFormValidator",
  "name" : "SwiftUIFormValidator",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    }
  ],
  "products" : [
    {
      "name" : "FormValidator",
      "targets" : [
        "FormValidator"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "FormValidator",
      "module_type" : "SwiftTarget",
      "name" : "FormValidator",
      "path" : "Sources",
      "product_memberships" : [
        "FormValidator"
      ],
      "sources" : [
        "ErrorFormatter.swift",
        "Extension/String+OrIfEmpty.swift",
        "Extension/View+EraseToAnyView.swift",
        "FormManager.swift",
        "FormValidator/CompositeValidator.swift",
        "FormValidator/CountValidator.swift",
        "FormValidator/DateValidator.swift",
        "FormValidator/EmailValidator.swift",
        "FormValidator/FormValidator.swift",
        "FormValidator/InlineValidator.swift",
        "FormValidator/NonEmptyValidator.swift",
        "FormValidator/PasswordMatchValidator.swift",
        "FormValidator/PasswordValidator.swift",
        "FormValidator/PatternValidator.swift",
        "FormValidator/PrefixValidator.swift",
        "FormValidator/SuffixValidator.swift",
        "Regex.swift",
        "Validation.swift",
        "ValidationFactory.swift",
        "ValidationModifier.swift",
        "Wrappers/DateFormField.swift",
        "Wrappers/FormField.swift",
        "Wrappers/PasswordFormField.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.1"
}
Done.