The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of OpenBytesNavigation, reference main (a68682), with Swift 6.0 for macOS (SPM) on 3 Nov 2024 00:47:59 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/0xOpenBytes/OpenBytesNavigation.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/0xOpenBytes/OpenBytesNavigation
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at a686825 Add Package.resolved
Cloned https://github.com/0xOpenBytes/OpenBytesNavigation.git
Revision (git rev-parse @):
a68682508d76f9f66795ba769bf2fd209cbf34de
SUCCESS checkout https://github.com/0xOpenBytes/OpenBytesNavigation.git at main
Fetching https://github.com/0xOpenBytes/o
Fetching https://github.com/0xOpenBytes/Disk
[1/248] Fetching o
[29/277] Fetching o, disk
Fetched https://github.com/0xOpenBytes/Disk from cache (0.68s)
Fetched https://github.com/0xOpenBytes/o from cache (0.68s)
Computing version for https://github.com/0xOpenBytes/Disk
Computed https://github.com/0xOpenBytes/Disk at 0.1.0 (0.64s)
Computing version for https://github.com/0xOpenBytes/o
Computed https://github.com/0xOpenBytes/o at 2.1.0 (0.65s)
Creating working copy for https://github.com/0xOpenBytes/Disk
Working copy of https://github.com/0xOpenBytes/Disk resolved at 0.1.0
Creating working copy for https://github.com/0xOpenBytes/o
Working copy of https://github.com/0xOpenBytes/o resolved at 2.1.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": "openbytesnavigation",
      "name": "OpenBytesNavigation",
      "url": "https://github.com/0xOpenBytes/OpenBytesNavigation.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/OpenBytesNavigation",
      "dependencies": [
        {
          "identity": "disk",
          "name": "Disk",
          "url": "https://github.com/0xOpenBytes/Disk",
          "version": "0.1.0",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Disk",
          "dependencies": [
            {
              "identity": "o",
              "name": "o",
              "url": "https://github.com/0xOpenBytes/o",
              "version": "2.1.1",
              "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/o",
              "dependencies": [
              ]
            }
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/0xOpenBytes/OpenBytesNavigation.git
[1/53] Fetching openbytesnavigation
Fetched https://github.com/0xOpenBytes/OpenBytesNavigation.git from cache (0.76s)
Fetching https://github.com/0xOpenBytes/Disk from cache
Fetched https://github.com/0xOpenBytes/Disk from cache (0.47s)
Computing version for https://github.com/0xOpenBytes/Disk
Computed https://github.com/0xOpenBytes/Disk at 0.1.0 (0.02s)
Fetching https://github.com/0xOpenBytes/o from cache
Fetched https://github.com/0xOpenBytes/o from cache (0.51s)
Computing version for https://github.com/0xOpenBytes/o
Computed https://github.com/0xOpenBytes/o at 2.1.1 (0.02s)
Creating working copy for https://github.com/0xOpenBytes/o
Working copy of https://github.com/0xOpenBytes/o resolved at 2.1.1
Creating working copy for https://github.com/0xOpenBytes/Disk
Working copy of https://github.com/0xOpenBytes/Disk resolved at 0.1.0
Creating working copy for https://github.com/0xOpenBytes/OpenBytesNavigation.git
Working copy of https://github.com/0xOpenBytes/OpenBytesNavigation.git resolved at main (a686825)
warning: '.resolve-product-dependencies': dependency 'openbytesnavigation' is not used by any target
Found 1 product dependencies
  - Disk
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/0xOpenBytes/OpenBytesNavigation.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/4] Write sources
[3/4] Write swift-version--7754E27361AE5C74.txt
[5/15] Compiling o NotificationUpdate.swift
[6/16] Compiling o o+notification.swift
[7/16] Compiling o o.swift
[8/16] Compiling o NotificationPost.swift
[9/16] Compiling o NotificationGet.swift
[10/16] Compiling o o+url.swift
[11/16] Compiling o NotificationDelegate.swift
[12/16] Compiling o NotificationDelete.swift
[13/16] Compiling o NotificationAuthorization.swift
[14/16] Emitting module o
[15/16] Compiling o o+console.swift
[16/16] Compiling o o+file.swift
[17/18] Compiling Disk Disk.swift
[18/18] Emitting module Disk
[19/33] Compiling OpenBytesNavigation OpenBytesNavigationView.swift
[20/34] Compiling OpenBytesNavigation ToastNotificationView.swift
[21/34] Compiling OpenBytesNavigation Modal.swift
[22/34] Compiling OpenBytesNavigation Toast.swift
[23/34] Compiling OpenBytesNavigation OpenBytesNavigationPath.swift
/Users/admin/builder/spi-builder-workspace/Sources/OpenBytesNavigation/OpenBytesNavigationPath.swift:102:17: warning: capture of 'self' with non-sendable type 'OpenBytesNavigationPath' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  3 |
  4 | /// A class that manages the navigation, presentation of modals, alerts, action sheets, and toasts in a SwiftUI app.
  5 | open class OpenBytesNavigationPath: ObservableObject {
    |            `- note: class 'OpenBytesNavigationPath' does not conform to the 'Sendable' protocol
  6 |     /// A prefix used for the filenames of the saved navigation paths.
  7 |     private static let filePrefix = "OpenBytesNavigationPath"
    :
100 |         guard Thread.isMainThread else {
101 |             DispatchQueue.main.async {
102 |                 self.actionSheet(title: title, actions: actions, message: message)
    |                 `- warning: capture of 'self' with non-sendable type 'OpenBytesNavigationPath' in a `@Sendable` closure; this is an error in the Swift 6 language mode
103 |             }
104 |             return
/Users/admin/builder/spi-builder-workspace/Sources/OpenBytesNavigation/OpenBytesNavigationPath.swift:102:57: warning: capture of 'actions' with non-sendable type '() -> ActionContent' in a `@Sendable` closure; this is an error in the Swift 6 language mode
100 |         guard Thread.isMainThread else {
101 |             DispatchQueue.main.async {
102 |                 self.actionSheet(title: title, actions: actions, message: message)
    |                                                         |- warning: capture of 'actions' with non-sendable type '() -> ActionContent' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                                                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
103 |             }
104 |             return
/Users/admin/builder/spi-builder-workspace/Sources/OpenBytesNavigation/OpenBytesNavigationPath.swift:102:75: warning: capture of 'message' with non-sendable type '() -> MessageContent' in a `@Sendable` closure; this is an error in the Swift 6 language mode
100 |         guard Thread.isMainThread else {
101 |             DispatchQueue.main.async {
102 |                 self.actionSheet(title: title, actions: actions, message: message)
    |                                                                           |- warning: capture of 'message' with non-sendable type '() -> MessageContent' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                                                                           `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
103 |             }
104 |             return
/Users/admin/builder/spi-builder-workspace/Sources/OpenBytesNavigation/OpenBytesNavigationPath.swift:122:17: warning: capture of 'self' with non-sendable type 'OpenBytesNavigationPath' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  3 |
  4 | /// A class that manages the navigation, presentation of modals, alerts, action sheets, and toasts in a SwiftUI app.
  5 | open class OpenBytesNavigationPath: ObservableObject {
    |            `- note: class 'OpenBytesNavigationPath' does not conform to the 'Sendable' protocol
  6 |     /// A prefix used for the filenames of the saved navigation paths.
  7 |     private static let filePrefix = "OpenBytesNavigationPath"
    :
120 |         guard Thread.isMainThread else {
121 |             DispatchQueue.main.async {
122 |                 self.alert(
    |                 `- warning: capture of 'self' with non-sendable type 'OpenBytesNavigationPath' in a `@Sendable` closure; this is an error in the Swift 6 language mode
123 |                     title: title,
124 |                     message: message,
/Users/admin/builder/spi-builder-workspace/Sources/OpenBytesNavigation/OpenBytesNavigationPath.swift:125:36: warning: capture of 'primaryButton' with non-sendable type 'Alert.Button' in a `@Sendable` closure; this is an error in the Swift 6 language mode
123 |                     title: title,
124 |                     message: message,
125 |                     primaryButton: primaryButton,
    |                                    `- warning: capture of 'primaryButton' with non-sendable type 'Alert.Button' in a `@Sendable` closure; this is an error in the Swift 6 language mode
126 |                     secondaryButton: secondaryButton
127 |                 )
SwiftUI.Alert:14:19: note: struct 'Button' does not conform to the 'Sendable' protocol
12 |     @available(visionOS, unavailable)
13 |     public static func sideBySideButtons(title: Text, message: Text? = nil, primaryButton: Alert.Button, secondaryButton: Alert.Button) -> Alert
14 |     public struct Button {
   |                   `- note: struct 'Button' does not conform to the 'Sendable' protocol
15 |         public static func `default`(_ label: Text, action: (() -> Void)? = {}) -> Alert.Button
16 |         public static func cancel(_ label: Text, action: (() -> Void)? = {}) -> Alert.Button
/Users/admin/builder/spi-builder-workspace/Sources/OpenBytesNavigation/OpenBytesNavigationPath.swift:126:38: warning: capture of 'secondaryButton' with non-sendable type 'Alert.Button' in a `@Sendable` closure; this is an error in the Swift 6 language mode
124 |                     message: message,
125 |                     primaryButton: primaryButton,
126 |                     secondaryButton: secondaryButton
    |                                      `- warning: capture of 'secondaryButton' with non-sendable type 'Alert.Button' in a `@Sendable` closure; this is an error in the Swift 6 language mode
127 |                 )
128 |             }
SwiftUI.Alert:14:19: note: struct 'Button' does not conform to the 'Sendable' protocol
12 |     @available(visionOS, unavailable)
13 |     public static func sideBySideButtons(title: Text, message: Text? = nil, primaryButton: Alert.Button, secondaryButton: Alert.Button) -> Alert
14 |     public struct Button {
   |                   `- note: struct 'Button' does not conform to the 'Sendable' protocol
15 |         public static func `default`(_ label: Text, action: (() -> Void)? = {}) -> Alert.Button
16 |         public static func cancel(_ label: Text, action: (() -> Void)? = {}) -> Alert.Button
/Users/admin/builder/spi-builder-workspace/Sources/OpenBytesNavigation/OpenBytesNavigationPath.swift:145:17: warning: capture of 'self' with non-sendable type 'OpenBytesNavigationPath' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  3 |
  4 | /// A class that manages the navigation, presentation of modals, alerts, action sheets, and toasts in a SwiftUI app.
  5 | open class OpenBytesNavigationPath: ObservableObject {
    |            `- note: class 'OpenBytesNavigationPath' does not conform to the 'Sendable' protocol
  6 |     /// A prefix used for the filenames of the saved navigation paths.
  7 |     private static let filePrefix = "OpenBytesNavigationPath"
    :
143 |         guard Thread.isMainThread else {
144 |             DispatchQueue.main.async {
145 |                 self.modal(body: body)
    |                 `- warning: capture of 'self' with non-sendable type 'OpenBytesNavigationPath' in a `@Sendable` closure; this is an error in the Swift 6 language mode
146 |             }
147 |             return
/Users/admin/builder/spi-builder-workspace/Sources/OpenBytesNavigation/OpenBytesNavigationPath.swift:145:34: warning: capture of 'body' with non-sendable type '() -> Content' in a `@Sendable` closure; this is an error in the Swift 6 language mode
143 |         guard Thread.isMainThread else {
144 |             DispatchQueue.main.async {
145 |                 self.modal(body: body)
    |                                  |- warning: capture of 'body' with non-sendable type '() -> Content' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                                  `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
146 |             }
147 |             return
/Users/admin/builder/spi-builder-workspace/Sources/OpenBytesNavigation/OpenBytesNavigationPath.swift:163:17: warning: capture of 'self' with non-sendable type 'OpenBytesNavigationPath' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  3 |
  4 | /// A class that manages the navigation, presentation of modals, alerts, action sheets, and toasts in a SwiftUI app.
  5 | open class OpenBytesNavigationPath: ObservableObject {
    |            `- note: class 'OpenBytesNavigationPath' does not conform to the 'Sendable' protocol
  6 |     /// A prefix used for the filenames of the saved navigation paths.
  7 |     private static let filePrefix = "OpenBytesNavigationPath"
    :
161 |         guard Thread.isMainThread else {
162 |             DispatchQueue.main.async {
163 |                 self.toast(
    |                 `- warning: capture of 'self' with non-sendable type 'OpenBytesNavigationPath' in a `@Sendable` closure; this is an error in the Swift 6 language mode
164 |                     title: title,
165 |                     message: message,
/Users/admin/builder/spi-builder-workspace/Sources/OpenBytesNavigation/OpenBytesNavigationPath.swift:166:28: warning: capture of 'style' with non-sendable type 'ToastStyle' in a `@Sendable` closure; this is an error in the Swift 6 language mode
164 |                     title: title,
165 |                     message: message,
166 |                     style: style,
    |                            `- warning: capture of 'style' with non-sendable type 'ToastStyle' in a `@Sendable` closure; this is an error in the Swift 6 language mode
167 |                     duration: duration
168 |                 )
/Users/admin/builder/spi-builder-workspace/Sources/OpenBytesNavigation/Toast/ToastStyle.swift:6:13: note: consider making enum 'ToastStyle' conform to the 'Sendable' protocol
 4 | /// - `toastColor`: Defines the color of the icon and the notification style of the type selected.
 5 | /// - `toastIcon`: Defines the icon displayed relevant to the overall notification type selected.
 6 | public enum ToastStyle {
   |             `- note: consider making enum 'ToastStyle' conform to the 'Sendable' protocol
 7 |     case error
 8 |     case success
/Users/admin/builder/spi-builder-workspace/Sources/OpenBytesNavigation/OpenBytesNavigationPath.swift:184:17: warning: capture of 'self' with non-sendable type 'OpenBytesNavigationPath' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  3 |
  4 | /// A class that manages the navigation, presentation of modals, alerts, action sheets, and toasts in a SwiftUI app.
  5 | open class OpenBytesNavigationPath: ObservableObject {
    |            `- note: class 'OpenBytesNavigationPath' does not conform to the 'Sendable' protocol
  6 |     /// A prefix used for the filenames of the saved navigation paths.
  7 |     private static let filePrefix = "OpenBytesNavigationPath"
    :
182 |         guard Thread.isMainThread else {
183 |             DispatchQueue.main.async {
184 |                 self.push(value)
    |                 `- warning: capture of 'self' with non-sendable type 'OpenBytesNavigationPath' in a `@Sendable` closure; this is an error in the Swift 6 language mode
185 |             }
186 |             return
/Users/admin/builder/spi-builder-workspace/Sources/OpenBytesNavigation/OpenBytesNavigationPath.swift:184:27: warning: capture of 'value' with non-sendable type 'V' in a `@Sendable` closure; this is an error in the Swift 6 language mode
179 |     }
180 |
181 |     public func push<V>(_ value: V) where V: Hashable {
    |                      `- note: consider making generic parameter 'V' conform to the 'Sendable' protocol
182 |         guard Thread.isMainThread else {
183 |             DispatchQueue.main.async {
184 |                 self.push(value)
    |                           `- warning: capture of 'value' with non-sendable type 'V' in a `@Sendable` closure; this is an error in the Swift 6 language mode
185 |             }
186 |             return
/Users/admin/builder/spi-builder-workspace/Sources/OpenBytesNavigation/OpenBytesNavigationPath.swift:195:17: warning: capture of 'self' with non-sendable type 'OpenBytesNavigationPath' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  3 |
  4 | /// A class that manages the navigation, presentation of modals, alerts, action sheets, and toasts in a SwiftUI app.
  5 | open class OpenBytesNavigationPath: ObservableObject {
    |            `- note: class 'OpenBytesNavigationPath' does not conform to the 'Sendable' protocol
  6 |     /// A prefix used for the filenames of the saved navigation paths.
  7 |     private static let filePrefix = "OpenBytesNavigationPath"
    :
193 |         guard Thread.isMainThread else {
194 |             DispatchQueue.main.async {
195 |                 self.push(value)
    |                 `- warning: capture of 'self' with non-sendable type 'OpenBytesNavigationPath' in a `@Sendable` closure; this is an error in the Swift 6 language mode
196 |             }
197 |             return
/Users/admin/builder/spi-builder-workspace/Sources/OpenBytesNavigation/OpenBytesNavigationPath.swift:195:27: warning: capture of 'value' with non-sendable type 'V' in a `@Sendable` closure; this is an error in the Swift 6 language mode
190 |     }
191 |
192 |     public func push<V>(_ value: V) where V: Codable, V: Hashable {
    |                      `- note: consider making generic parameter 'V' conform to the 'Sendable' protocol
193 |         guard Thread.isMainThread else {
194 |             DispatchQueue.main.async {
195 |                 self.push(value)
    |                           `- warning: capture of 'value' with non-sendable type 'V' in a `@Sendable` closure; this is an error in the Swift 6 language mode
196 |             }
197 |             return
/Users/admin/builder/spi-builder-workspace/Sources/OpenBytesNavigation/OpenBytesNavigationPath.swift:206:17: warning: capture of 'self' with non-sendable type 'OpenBytesNavigationPath' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  3 |
  4 | /// A class that manages the navigation, presentation of modals, alerts, action sheets, and toasts in a SwiftUI app.
  5 | open class OpenBytesNavigationPath: ObservableObject {
    |            `- note: class 'OpenBytesNavigationPath' does not conform to the 'Sendable' protocol
  6 |     /// A prefix used for the filenames of the saved navigation paths.
  7 |     private static let filePrefix = "OpenBytesNavigationPath"
    :
204 |         guard Thread.isMainThread else {
205 |             DispatchQueue.main.async {
206 |                 self.pop()
    |                 `- warning: capture of 'self' with non-sendable type 'OpenBytesNavigationPath' in a `@Sendable` closure; this is an error in the Swift 6 language mode
207 |             }
208 |             return
/Users/admin/builder/spi-builder-workspace/Sources/OpenBytesNavigation/OpenBytesNavigationPath.swift:102:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
100 |         guard Thread.isMainThread else {
101 |             DispatchQueue.main.async {
102 |                 self.actionSheet(title: title, actions: actions, message: message)
    |                 |- 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
103 |             }
104 |             return
/Users/admin/builder/spi-builder-workspace/Sources/OpenBytesNavigation/OpenBytesNavigationPath.swift:102:57: warning: sending 'actions' risks causing data races; this is an error in the Swift 6 language mode
100 |         guard Thread.isMainThread else {
101 |             DispatchQueue.main.async {
102 |                 self.actionSheet(title: title, actions: actions, message: message)
    |                                                         |- warning: sending 'actions' risks causing data races; this is an error in the Swift 6 language mode
    |                                                         `- note: task-isolated 'actions' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
103 |             }
104 |             return
/Users/admin/builder/spi-builder-workspace/Sources/OpenBytesNavigation/OpenBytesNavigationPath.swift:102:75: warning: sending 'message' risks causing data races; this is an error in the Swift 6 language mode
100 |         guard Thread.isMainThread else {
101 |             DispatchQueue.main.async {
102 |                 self.actionSheet(title: title, actions: actions, message: message)
    |                                                                           |- warning: sending 'message' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                           `- note: task-isolated 'message' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
103 |             }
104 |             return
/Users/admin/builder/spi-builder-workspace/Sources/OpenBytesNavigation/OpenBytesNavigationPath.swift:122:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
120 |         guard Thread.isMainThread else {
121 |             DispatchQueue.main.async {
122 |                 self.alert(
    |                 |- 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
123 |                     title: title,
124 |                     message: message,
/Users/admin/builder/spi-builder-workspace/Sources/OpenBytesNavigation/OpenBytesNavigationPath.swift:125:36: warning: sending 'primaryButton' risks causing data races; this is an error in the Swift 6 language mode
123 |                     title: title,
124 |                     message: message,
125 |                     primaryButton: primaryButton,
    |                                    |- warning: sending 'primaryButton' risks causing data races; this is an error in the Swift 6 language mode
    |                                    `- note: task-isolated 'primaryButton' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
126 |                     secondaryButton: secondaryButton
127 |                 )
/Users/admin/builder/spi-builder-workspace/Sources/OpenBytesNavigation/OpenBytesNavigationPath.swift:126:38: warning: sending 'secondaryButton' risks causing data races; this is an error in the Swift 6 language mode
124 |                     message: message,
125 |                     primaryButton: primaryButton,
126 |                     secondaryButton: secondaryButton
    |                                      |- warning: sending 'secondaryButton' risks causing data races; this is an error in the Swift 6 language mode
    |                                      `- note: task-isolated 'secondaryButton' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
127 |                 )
128 |             }
/Users/admin/builder/spi-builder-workspace/Sources/OpenBytesNavigation/OpenBytesNavigationPath.swift:145:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
143 |         guard Thread.isMainThread else {
144 |             DispatchQueue.main.async {
145 |                 self.modal(body: body)
    |                 |- 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
146 |             }
147 |             return
/Users/admin/builder/spi-builder-workspace/Sources/OpenBytesNavigation/OpenBytesNavigationPath.swift:145:34: warning: sending 'body' risks causing data races; this is an error in the Swift 6 language mode
143 |         guard Thread.isMainThread else {
144 |             DispatchQueue.main.async {
145 |                 self.modal(body: body)
    |                                  |- warning: sending 'body' risks causing data races; this is an error in the Swift 6 language mode
    |                                  `- note: task-isolated 'body' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
146 |             }
147 |             return
/Users/admin/builder/spi-builder-workspace/Sources/OpenBytesNavigation/OpenBytesNavigationPath.swift:163:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
161 |         guard Thread.isMainThread else {
162 |             DispatchQueue.main.async {
163 |                 self.toast(
    |                 |- 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
164 |                     title: title,
165 |                     message: message,
/Users/admin/builder/spi-builder-workspace/Sources/OpenBytesNavigation/OpenBytesNavigationPath.swift:166:28: warning: sending 'style' risks causing data races; this is an error in the Swift 6 language mode
164 |                     title: title,
165 |                     message: message,
166 |                     style: style,
    |                            |- warning: sending 'style' risks causing data races; this is an error in the Swift 6 language mode
    |                            `- note: task-isolated 'style' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
167 |                     duration: duration
168 |                 )
/Users/admin/builder/spi-builder-workspace/Sources/OpenBytesNavigation/OpenBytesNavigationPath.swift:184:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
182 |         guard Thread.isMainThread else {
183 |             DispatchQueue.main.async {
184 |                 self.push(value)
    |                 |- 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
185 |             }
186 |             return
/Users/admin/builder/spi-builder-workspace/Sources/OpenBytesNavigation/OpenBytesNavigationPath.swift:184:27: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
182 |         guard Thread.isMainThread else {
183 |             DispatchQueue.main.async {
184 |                 self.push(value)
    |                           |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
    |                           `- note: task-isolated 'value' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
185 |             }
186 |             return
/Users/admin/builder/spi-builder-workspace/Sources/OpenBytesNavigation/OpenBytesNavigationPath.swift:195:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
193 |         guard Thread.isMainThread else {
194 |             DispatchQueue.main.async {
195 |                 self.push(value)
    |                 |- 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
196 |             }
197 |             return
/Users/admin/builder/spi-builder-workspace/Sources/OpenBytesNavigation/OpenBytesNavigationPath.swift:195:27: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
193 |         guard Thread.isMainThread else {
194 |             DispatchQueue.main.async {
195 |                 self.push(value)
    |                           |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
    |                           `- note: task-isolated 'value' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
196 |             }
197 |             return
/Users/admin/builder/spi-builder-workspace/Sources/OpenBytesNavigation/OpenBytesNavigationPath.swift:206:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
204 |         guard Thread.isMainThread else {
205 |             DispatchQueue.main.async {
206 |                 self.pop()
    |                 |- 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
207 |             }
208 |             return
[24/34] Compiling OpenBytesNavigation ActionSheet.swift
[25/34] Compiling OpenBytesNavigation Alert.swift
[26/34] Compiling OpenBytesNavigation ModalPresenting.swift
[27/34] Compiling OpenBytesNavigation ToastPresenting.swift
[28/34] Compiling OpenBytesNavigation ToastModifier.swift
[29/34] Compiling OpenBytesNavigation BackwardNavigatable.swift
[30/34] Compiling OpenBytesNavigation ForwardNavigatable.swift
[31/34] Emitting module OpenBytesNavigation
[32/34] Compiling OpenBytesNavigation ActionSheetPresenting.swift
[33/34] Compiling OpenBytesNavigation AlertPresenting.swift
[34/34] Compiling OpenBytesNavigation ToastStyle.swift
Build complete! (27.99s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "disk",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.1.0",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/0xOpenBytes/Disk"
    }
  ],
  "manifest_display_name" : "OpenBytesNavigation",
  "name" : "OpenBytesNavigation",
  "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"
    }
  ],
  "products" : [
    {
      "name" : "OpenBytesNavigation",
      "targets" : [
        "OpenBytesNavigation"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "OpenBytesNavigationTests",
      "module_type" : "SwiftTarget",
      "name" : "OpenBytesNavigationTests",
      "path" : "Tests/OpenBytesNavigationTests",
      "sources" : [
        "OpenBytesNavigationTests.swift"
      ],
      "target_dependencies" : [
        "OpenBytesNavigation"
      ],
      "type" : "test"
    },
    {
      "c99name" : "OpenBytesNavigation",
      "module_type" : "SwiftTarget",
      "name" : "OpenBytesNavigation",
      "path" : "Sources/OpenBytesNavigation",
      "product_dependencies" : [
        "Disk"
      ],
      "product_memberships" : [
        "OpenBytesNavigation"
      ],
      "sources" : [
        "Interface/ActionSheetPresenting.swift",
        "Interface/AlertPresenting.swift",
        "Interface/BackwardNavigatable.swift",
        "Interface/ForwardNavigatable.swift",
        "Interface/ModalPresenting.swift",
        "Interface/ToastPresenting.swift",
        "Models/ActionSheet.swift",
        "Models/Alert.swift",
        "Models/Modal.swift",
        "Models/Toast.swift",
        "OpenBytesNavigationPath.swift",
        "OpenBytesNavigationView.swift",
        "Toast/ToastModifier.swift",
        "Toast/ToastNotificationView.swift",
        "Toast/ToastStyle.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.7"
}
Done.