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 openai-async-image-swiftui, reference 1.2.3 (5cec6b), with Swift 6.1 for macOS (SPM) on 30 Apr 2025 02:40:36 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 4.61.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/swiftuiux/openai-async-image-swiftui.git
Reference: 1.2.3
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/swiftuiux/openai-async-image-swiftui
 * tag               1.2.3      -> FETCH_HEAD
HEAD is now at 5cec6b9 update
Cloned https://github.com/swiftuiux/openai-async-image-swiftui.git
Revision (git rev-parse @):
5cec6b959315a1cbe760927c5ac03e279e19bed9
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/swiftuiux/openai-async-image-swiftui.git at 1.2.3
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/swiftuiux/openai-async-image-swiftui.git
https://github.com/swiftuiux/openai-async-image-swiftui.git
{
  "dependencies" : [
    {
      "identity" : "async-http-client",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.5.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/swiftuiux/async-http-client.git"
    },
    {
      "identity" : "async-task",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.2.5",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/swiftuiux/async-task.git"
    }
  ],
  "manifest_display_name" : "openai-async-image-swiftui",
  "name" : "openai-async-image-swiftui",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "12.0"
    },
    {
      "name" : "ios",
      "version" : "15.0"
    },
    {
      "name" : "watchos",
      "version" : "8.0"
    },
    {
      "name" : "tvos",
      "version" : "15.0"
    }
  ],
  "products" : [
    {
      "name" : "openai-async-image-swiftui",
      "targets" : [
        "openai-async-image-swiftui"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "openai_async_image_swiftuiTests",
      "module_type" : "SwiftTarget",
      "name" : "openai-async-image-swiftuiTests",
      "path" : "Tests/openai-async-image-swiftuiTests",
      "sources" : [
        "openai_async_image_swiftuiTests.swift"
      ],
      "target_dependencies" : [
        "openai-async-image-swiftui"
      ],
      "type" : "test"
    },
    {
      "c99name" : "openai_async_image_swiftui",
      "module_type" : "SwiftTarget",
      "name" : "openai-async-image-swiftui",
      "path" : "Sources/openai-async-image-swiftui",
      "product_dependencies" : [
        "async-http-client",
        "async-task"
      ],
      "product_memberships" : [
        "openai-async-image-swiftui"
      ],
      "sources" : [
        "OpenAIAsyncImage.swift",
        "enum/AsyncImageErrors.swift",
        "enum/DalleModel.swift",
        "enum/ImageState.swift",
        "enum/OpenAIImageSize.swift",
        "enum/ResponseFormat.swift",
        "environmentKey/OpenAIAsyncImageLoaderKey.swift",
        "model/Input.swift",
        "model/Output.swift",
        "net/OpenAIImageEndpoint.swift",
        "protocol/IOpenAIImageEndpoint.swift",
        "protocol/IOpenAILoader.swift",
        "viewModel/OpenAIDefaultLoader.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.7"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/5] Write sources
[4/5] Write swift-version-2F0A5646E1D333AE.txt
[6/17] Compiling retry_policy_service DispatchTimeInterval.swift
[7/17] Compiling retry_policy_service Strategy.swift
[8/17] Emitting module retry_policy_service
[9/17] Compiling retry_policy_service RetryService.swift
[10/38] Emitting module async_http_client
[11/40] Compiling async_http_client IConfiguration.swift
[12/40] Compiling async_http_client IProxy.swift
[13/40] Compiling async_http_client IResponse.swift
[14/40] Compiling async_http_client Status.swift
[15/40] Compiling async_http_client JsonWriter.swift
[16/40] Compiling async_http_client UrlHelper.swift
[17/40] Compiling async_http_client Configuration.swift
[18/40] Compiling async_http_client Errors.swift
[19/40] Compiling async_http_client ITaskDelegate.swift
[20/40] Compiling async_http_client Proxy+.swift
[21/40] Compiling async_http_client Proxy.swift
[22/40] Compiling async_http_client Response.swift
[23/40] Compiling async_http_client HttpMethod.swift
[24/40] Compiling async_http_client IReader.swift
[25/40] Compiling async_http_client IWriter.swift
[26/40] Compiling async_http_client IValidate.swift
[27/40] Compiling async_http_client RequestHelper.swift
[28/40] Compiling async_http_client SendHelper.swift
[29/40] Compiling async_http_client JsonReader.swift
[30/40] Compiling async_http_client Validate.swift
[31/40] Compiling async_http_client Direct.swift
[32/40] Compiling async_http_client Http.swift
[33/40] Compiling async_task Type.swift
[34/40] Compiling async_task IAsyncTask.swift
[35/40] Compiling async_task Async.swift
[36/40] Compiling async_task TaskProperty.swift
[37/40] Emitting module async_task
[38/40] Compiling async_task State.swift
[39/40] Compiling async_task SingleTask.swift
[40/40] Compiling async_task ObservableSingleTask.swift
[41/53] Compiling openai_async_image_swiftui IOpenAILoader.swift
[42/53] Compiling openai_async_image_swiftui IOpenAIImageEndpoint.swift
[43/53] Compiling openai_async_image_swiftui Input.swift
[44/53] Compiling openai_async_image_swiftui OpenAIImageSize.swift
[45/53] Compiling openai_async_image_swiftui ResponseFormat.swift
[46/53] Compiling openai_async_image_swiftui OpenAIImageEndpoint.swift
[47/53] Compiling openai_async_image_swiftui OpenAIAsyncImageLoaderKey.swift
[48/53] Compiling openai_async_image_swiftui DalleModel.swift
[49/53] Compiling openai_async_image_swiftui ImageState.swift
[50/53] Compiling openai_async_image_swiftui Output.swift
[51/54] Compiling openai_async_image_swiftui OpenAIAsyncImage.swift
/Users/admin/builder/spi-builder-workspace/Sources/openai-async-image-swiftui/OpenAIAsyncImage.swift:139:47: warning: non-sendable type 'OpenAIImageSize' of property 'size' cannot exit main actor-isolated context; this is an error in the Swift 6 language mode
137 |     private func start(){
138 |         taskModel.start{
139 |             try await loadImage(prompt, with: size, model: model)
    |                                               `- warning: non-sendable type 'OpenAIImageSize' of property 'size' cannot exit main actor-isolated context; this is an error in the Swift 6 language mode
140 |         }
141 |     }
/Users/admin/builder/spi-builder-workspace/Sources/openai-async-image-swiftui/enum/OpenAIImageSize.swift:12:13: note: consider making enum 'OpenAIImageSize' conform to the 'Sendable' protocol
10 | /// The size of the generated images. Must be one of 256x256, 512x512, or 1024x1024
11 | @available(iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0, *)
12 | public enum OpenAIImageSize: String, Encodable{
   |             `- note: consider making enum 'OpenAIImageSize' conform to the 'Sendable' protocol
13 |
14 |     case dpi256 = "256x256"
/Users/admin/builder/spi-builder-workspace/Sources/openai-async-image-swiftui/OpenAIAsyncImage.swift:139:60: warning: non-sendable type 'DalleModel' of property 'model' cannot exit main actor-isolated context; this is an error in the Swift 6 language mode
137 |     private func start(){
138 |         taskModel.start{
139 |             try await loadImage(prompt, with: size, model: model)
    |                                                            `- warning: non-sendable type 'DalleModel' of property 'model' cannot exit main actor-isolated context; this is an error in the Swift 6 language mode
140 |         }
141 |     }
/Users/admin/builder/spi-builder-workspace/Sources/openai-async-image-swiftui/enum/DalleModel.swift:8:13: note: consider making enum 'DalleModel' conform to the 'Sendable' protocol
 6 | //
 7 |
 8 | public enum DalleModel: String{
   |             `- note: consider making enum 'DalleModel' conform to the 'Sendable' protocol
 9 |
10 |     case dalle2 = "dall-e-2"
/Users/admin/builder/spi-builder-workspace/Sources/openai-async-image-swiftui/OpenAIAsyncImage.swift:115:33: warning: sending 'size' risks causing data races; this is an error in the Swift 6 language mode
113 |         model: DalleModel
114 |     ) async throws -> Image {
115 |         try await defaultLoader.load(prompt, with: size, model: model)
    |                                 |- warning: sending 'size' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: sending main actor-isolated 'size' to nonisolated callee risks causing data races between nonisolated and main actor-isolated uses
116 |     }
117 |
/Users/admin/builder/spi-builder-workspace/Sources/openai-async-image-swiftui/OpenAIAsyncImage.swift:115:33: warning: sending 'model' risks causing data races; this is an error in the Swift 6 language mode
113 |         model: DalleModel
114 |     ) async throws -> Image {
115 |         try await defaultLoader.load(prompt, with: size, model: model)
    |                                 |- warning: sending 'model' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: sending main actor-isolated 'model' to nonisolated callee risks causing data races between nonisolated and main actor-isolated uses
116 |     }
117 |
/Users/admin/builder/spi-builder-workspace/Sources/openai-async-image-swiftui/OpenAIAsyncImage.swift:130:41: warning: sending 'size' risks causing data races; this is an error in the Swift 6 language mode
128 |     ) async throws -> Image? {
129 |             if let loader = loader {
130 |                 return try await loader.load(prompt, with: size, model: model)
    |                                         |- warning: sending 'size' risks causing data races; this is an error in the Swift 6 language mode
    |                                         `- note: sending main actor-isolated 'size' to nonisolated instance method 'load(_:with:model:)' risks causing data races between nonisolated and main actor-isolated uses
131 |             }
132 |             return try await loadImageDefault(prompt, with: size, model: model)
/Users/admin/builder/spi-builder-workspace/Sources/openai-async-image-swiftui/OpenAIAsyncImage.swift:130:41: warning: sending 'model' risks causing data races; this is an error in the Swift 6 language mode
128 |     ) async throws -> Image? {
129 |             if let loader = loader {
130 |                 return try await loader.load(prompt, with: size, model: model)
    |                                         |- warning: sending 'model' risks causing data races; this is an error in the Swift 6 language mode
    |                                         `- note: sending main actor-isolated 'model' to nonisolated instance method 'load(_:with:model:)' risks causing data races between nonisolated and main actor-isolated uses
131 |             }
132 |             return try await loadImageDefault(prompt, with: size, model: model)
/Users/admin/builder/spi-builder-workspace/Sources/openai-async-image-swiftui/OpenAIAsyncImage.swift:130:41: warning: sending 'loader' risks causing data races; this is an error in the Swift 6 language mode
128 |     ) async throws -> Image? {
129 |             if let loader = loader {
130 |                 return try await loader.load(prompt, with: size, model: model)
    |                                         |- warning: sending 'loader' risks causing data races; this is an error in the Swift 6 language mode
    |                                         `- note: sending main actor-isolated 'loader' to nonisolated instance method 'load(_:with:model:)' risks causing data races between nonisolated and main actor-isolated uses
131 |             }
132 |             return try await loadImageDefault(prompt, with: size, model: model)
[52/54] Compiling openai_async_image_swiftui AsyncImageErrors.swift
/Users/admin/builder/spi-builder-workspace/Sources/openai-async-image-swiftui/OpenAIAsyncImage.swift:139:47: warning: non-sendable type 'OpenAIImageSize' of property 'size' cannot exit main actor-isolated context; this is an error in the Swift 6 language mode
137 |     private func start(){
138 |         taskModel.start{
139 |             try await loadImage(prompt, with: size, model: model)
    |                                               `- warning: non-sendable type 'OpenAIImageSize' of property 'size' cannot exit main actor-isolated context; this is an error in the Swift 6 language mode
140 |         }
141 |     }
/Users/admin/builder/spi-builder-workspace/Sources/openai-async-image-swiftui/enum/OpenAIImageSize.swift:12:13: note: consider making enum 'OpenAIImageSize' conform to the 'Sendable' protocol
10 | /// The size of the generated images. Must be one of 256x256, 512x512, or 1024x1024
11 | @available(iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0, *)
12 | public enum OpenAIImageSize: String, Encodable{
   |             `- note: consider making enum 'OpenAIImageSize' conform to the 'Sendable' protocol
13 |
14 |     case dpi256 = "256x256"
/Users/admin/builder/spi-builder-workspace/Sources/openai-async-image-swiftui/OpenAIAsyncImage.swift:139:60: warning: non-sendable type 'DalleModel' of property 'model' cannot exit main actor-isolated context; this is an error in the Swift 6 language mode
137 |     private func start(){
138 |         taskModel.start{
139 |             try await loadImage(prompt, with: size, model: model)
    |                                                            `- warning: non-sendable type 'DalleModel' of property 'model' cannot exit main actor-isolated context; this is an error in the Swift 6 language mode
140 |         }
141 |     }
/Users/admin/builder/spi-builder-workspace/Sources/openai-async-image-swiftui/enum/DalleModel.swift:8:13: note: consider making enum 'DalleModel' conform to the 'Sendable' protocol
 6 | //
 7 |
 8 | public enum DalleModel: String{
   |             `- note: consider making enum 'DalleModel' conform to the 'Sendable' protocol
 9 |
10 |     case dalle2 = "dall-e-2"
/Users/admin/builder/spi-builder-workspace/Sources/openai-async-image-swiftui/OpenAIAsyncImage.swift:115:33: warning: sending 'size' risks causing data races; this is an error in the Swift 6 language mode
113 |         model: DalleModel
114 |     ) async throws -> Image {
115 |         try await defaultLoader.load(prompt, with: size, model: model)
    |                                 |- warning: sending 'size' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: sending main actor-isolated 'size' to nonisolated callee risks causing data races between nonisolated and main actor-isolated uses
116 |     }
117 |
/Users/admin/builder/spi-builder-workspace/Sources/openai-async-image-swiftui/OpenAIAsyncImage.swift:115:33: warning: sending 'model' risks causing data races; this is an error in the Swift 6 language mode
113 |         model: DalleModel
114 |     ) async throws -> Image {
115 |         try await defaultLoader.load(prompt, with: size, model: model)
    |                                 |- warning: sending 'model' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: sending main actor-isolated 'model' to nonisolated callee risks causing data races between nonisolated and main actor-isolated uses
116 |     }
117 |
/Users/admin/builder/spi-builder-workspace/Sources/openai-async-image-swiftui/OpenAIAsyncImage.swift:130:41: warning: sending 'size' risks causing data races; this is an error in the Swift 6 language mode
128 |     ) async throws -> Image? {
129 |             if let loader = loader {
130 |                 return try await loader.load(prompt, with: size, model: model)
    |                                         |- warning: sending 'size' risks causing data races; this is an error in the Swift 6 language mode
    |                                         `- note: sending main actor-isolated 'size' to nonisolated instance method 'load(_:with:model:)' risks causing data races between nonisolated and main actor-isolated uses
131 |             }
132 |             return try await loadImageDefault(prompt, with: size, model: model)
/Users/admin/builder/spi-builder-workspace/Sources/openai-async-image-swiftui/OpenAIAsyncImage.swift:130:41: warning: sending 'model' risks causing data races; this is an error in the Swift 6 language mode
128 |     ) async throws -> Image? {
129 |             if let loader = loader {
130 |                 return try await loader.load(prompt, with: size, model: model)
    |                                         |- warning: sending 'model' risks causing data races; this is an error in the Swift 6 language mode
    |                                         `- note: sending main actor-isolated 'model' to nonisolated instance method 'load(_:with:model:)' risks causing data races between nonisolated and main actor-isolated uses
131 |             }
132 |             return try await loadImageDefault(prompt, with: size, model: model)
/Users/admin/builder/spi-builder-workspace/Sources/openai-async-image-swiftui/OpenAIAsyncImage.swift:130:41: warning: sending 'loader' risks causing data races; this is an error in the Swift 6 language mode
128 |     ) async throws -> Image? {
129 |             if let loader = loader {
130 |                 return try await loader.load(prompt, with: size, model: model)
    |                                         |- warning: sending 'loader' risks causing data races; this is an error in the Swift 6 language mode
    |                                         `- note: sending main actor-isolated 'loader' to nonisolated instance method 'load(_:with:model:)' risks causing data races between nonisolated and main actor-isolated uses
131 |             }
132 |             return try await loadImageDefault(prompt, with: size, model: model)
[53/54] Emitting module openai_async_image_swiftui
[54/54] Compiling openai_async_image_swiftui OpenAIDefaultLoader.swift
Build complete! (15.52s)
Fetching https://github.com/swiftuiux/async-http-client.git
Fetching https://github.com/swiftuiux/async-task.git
[1/904] Fetching async-http-client
[372/1301] Fetching async-http-client, async-task
Fetched https://github.com/swiftuiux/async-task.git from cache (0.73s)
Fetched https://github.com/swiftuiux/async-http-client.git from cache (0.73s)
Computing version for https://github.com/swiftuiux/async-task.git
Computed https://github.com/swiftuiux/async-task.git at 1.2.5 (1.30s)
Computing version for https://github.com/swiftuiux/async-http-client.git
Computed https://github.com/swiftuiux/async-http-client.git at 1.5.0 (0.53s)
Fetching https://github.com/swiftuiux/retry-policy-service.git
[1/101] Fetching retry-policy-service
Fetched https://github.com/swiftuiux/retry-policy-service.git from cache (0.62s)
Computing version for https://github.com/swiftuiux/retry-policy-service.git
Computed https://github.com/swiftuiux/retry-policy-service.git at 1.0.1 (1.20s)
Creating working copy for https://github.com/swiftuiux/async-task.git
Working copy of https://github.com/swiftuiux/async-task.git resolved at 1.2.5
Creating working copy for https://github.com/swiftuiux/retry-policy-service.git
Working copy of https://github.com/swiftuiux/retry-policy-service.git resolved at 1.0.1
Creating working copy for https://github.com/swiftuiux/async-http-client.git
Working copy of https://github.com/swiftuiux/async-http-client.git resolved at 1.5.0
Build complete.
{
  "dependencies" : [
    {
      "identity" : "async-http-client",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.5.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/swiftuiux/async-http-client.git"
    },
    {
      "identity" : "async-task",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.2.5",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/swiftuiux/async-task.git"
    }
  ],
  "manifest_display_name" : "openai-async-image-swiftui",
  "name" : "openai-async-image-swiftui",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "12.0"
    },
    {
      "name" : "ios",
      "version" : "15.0"
    },
    {
      "name" : "watchos",
      "version" : "8.0"
    },
    {
      "name" : "tvos",
      "version" : "15.0"
    }
  ],
  "products" : [
    {
      "name" : "openai-async-image-swiftui",
      "targets" : [
        "openai-async-image-swiftui"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "openai_async_image_swiftuiTests",
      "module_type" : "SwiftTarget",
      "name" : "openai-async-image-swiftuiTests",
      "path" : "Tests/openai-async-image-swiftuiTests",
      "sources" : [
        "openai_async_image_swiftuiTests.swift"
      ],
      "target_dependencies" : [
        "openai-async-image-swiftui"
      ],
      "type" : "test"
    },
    {
      "c99name" : "openai_async_image_swiftui",
      "module_type" : "SwiftTarget",
      "name" : "openai-async-image-swiftui",
      "path" : "Sources/openai-async-image-swiftui",
      "product_dependencies" : [
        "async-http-client",
        "async-task"
      ],
      "product_memberships" : [
        "openai-async-image-swiftui"
      ],
      "sources" : [
        "OpenAIAsyncImage.swift",
        "enum/AsyncImageErrors.swift",
        "enum/DalleModel.swift",
        "enum/ImageState.swift",
        "enum/OpenAIImageSize.swift",
        "enum/ResponseFormat.swift",
        "environmentKey/OpenAIAsyncImageLoaderKey.swift",
        "model/Input.swift",
        "model/Output.swift",
        "net/OpenAIImageEndpoint.swift",
        "protocol/IOpenAIImageEndpoint.swift",
        "protocol/IOpenAILoader.swift",
        "viewModel/OpenAIDefaultLoader.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.7"
}
Done.